備忘録
- ehime-db
- 2018年3月12日
- 読了時間: 2分
Access VBA フォームをパスワードで制限
http://www.access-vba-navi.com/post-548/
■印刷禁止方法
1)フォームをデザインビューで開く 2)データを表示するコントロールを選択する(1つずつでも複数でも可) 3)プロパティシートで『書式』タブを選択 4)『表示対象』の設定値を「画面のみ」に設定
メニューオプションより
5)左上の丸いボタンをクリック→[Access のオプション]→[カレントデータベース]→[リボンとツールバーのオプション]にある、「既定のショートカットメニュー」のチェックをはずす。
■ファイルダイアログ関連
On Error Resume Next '変数定義 Dim intRet As Integer 'ダイアログ用変数 Dim GetFileName As String 'フルパスの値
With Application.FileDialog(msoFileDialogOpen) 'ダイアログのタイトルを設定 .Title = "ファイルを開くダイアログ" 'ファイルの種類を設定 .Filters.Clear .Filters.Add "Microsoft Office Excelファイル", "*.xlsx" .FilterIndex = 1 '複数ファイル選択を許可しない .AllowMultiSelect = False '初期パスを設定 .InitialFileName = CurrentProject.Path 'ダイアログを表示 intRet = .Show
If intRet <> 0 Then 'ファイルが選択されたとき 'そのフルパスを返り値に設定 GetFileName = Trim(.SelectedItems.Item(1)) Else 'ファイルが選択されなければブランク GetFileName = "" End If End With '選択されたフルパスをテキストボックスへ表示 Form_F_Form.テキストn.Value = GetFileName
End Sub

■入力内容の表示・非表示 *
Private Sub cmdShowType_Click() '[見るようにする]ボタンクリック時 Static sblnVisible As Boolean If sblnVisible Then 'パスワードが見える状態のとき Me!txtPassWord.InputMask = "Password" Me!cmdShowType.Caption = "見るようにする" Else 'パスワードが見えない状態のとき Me!txtPassWord.InputMask = "" Me!cmdShowType.Caption = "隠す" End If '状態を反対にする sblnVisible = Not sblnVisible End Sub
■編集ロック例
カレント レコードに表示される社員IDに応じて、コントロールの Enabled/使用可能 および Locked/編集ロック プロパティを設定します。 社員IDが0001の場合には、[旅費明細] コントロールは使用可能になり、編集できるようになります。
Sub Form_Current()
If Me.[社員ID] = "0001" Then Me.[旅費明細].Enabled = True
Me.[旅費明細].Locked = False Else Me.[旅費明細].Enabled = False
Me.[旅費明細].Locked = True
End If
End Sub
https://msdn.microsoft.com/ja-jp/vba/access-vba/articles/textbox-locked-property-access
コマンドボタンでもいいのですが、オプショングループで「閲覧」と「編集」のトグルボタンを使う手もあり
のオプショングループを「Frame0」として、その更新後処理のイベントプロシージャに以下 Private Sub Frame0_AfterUpdate() If Frame0 = 1 Then ' 閲覧 Me.AllowAdditions = False Me.AllowDeletions = False Me.AllowEdits = False Else ' 編集 Me.AllowAdditions = True Me.AllowDeletions = True Me.AllowEdits = True End If End Sub
Comments