その他

Access VBA Shiftキーの有効/無効

Shiftキーの有効/無効

Shiftキーを押しながらAccessで作成したデータベースを起動すると、デザインモードで起動してしまい内部の構造が見られてしまいます。Shiftキー押しながらの起動を制御するプログラムを記述します。

プログラムの例

モジュール内に以下のプログラムを用意して下さい。

Public Function ShiftkeyChange(st As Boolean)

Dim DB As Database
Dim PRO As Property
Dim BLN As Boolean

Set DB = CurrentDb
BLN = False
For Each PRO In DB.Properties
If PRO.Name = “AllowBypassKey” Then
PRO = st
BLN = True
Exit For
End If
Next PRO

If BLN = False Then
Set PRO = DB.CreateProperty(“AllowBypassKey”, dbBoolean, st)
DB.Properties.Append PRO
End If
Set PRO = Nothing
DB.Close
Set DB = Nothing
End Function

次にフォーム内に以下のプログラムを用意してください。

‘Shiftキーの有効処理

Private Sub コマンド10_Click()

Dim Res As String

Res = MsgBox(“ShiftKeyを有効にしますか?”, vbOKCancel, “有効処理”)
If Res = vbOK Then
Call ShiftkeyChange(True)
MsgBox “システムの再起動後に適用されます”, 0, “確認”
Else
End If

End Sub

‘Shiftキーの無効処理

Private Sub コマンド11_Click()

Dim Res As String

Res = MsgBox(“ShiftKeyを無効にしますか?”, vbOKCancel, “無効処理”)
If Res = vbOK Then
Call ShiftkeyChange(False)
MsgBox “システムの再起動後に適用されます”, 0, “確認”
Else
End If

End Sub

注意事項

san01

VBA画面メニューバーの「ツール」→「参照設定」で「Microsoft DAO ** object Library」にチェックを入れ、尚且つ「Microsoft ActiveX Data Objects ** Library」よりも優先順位を上にして下さい。(**はバージョンですので一番バージョンが高いものを選択して下さい。)

こちらの記事もおすすめ!