| Access Tips by pPoy |
| Module | 起動時の Shift キーを無効/有効 にする方法 (Access97,2000,2002) | ||
|---|---|---|---|
|
Access mdb では、Shift キーを押しながら直接開かれると、 起動用に設定したマクロや、起動用のフォームは無効になってしまいます。 これは、起動時の Shift キーを、別の mdb から無効に指定する方法です。 一旦無効に設定すると、プロシージャで解除するまで設定は変わりません。 解除の方法を理解の上、Shift キーを無効に設定してください。 新規に空のデータベースを作成し、以下の VBA を標準モジュールに貼り付けてください。 プロシージャは2個あります。 | |||
Sub SetChgProperty(mdbName As String)
Const DB_Boolean As Long = 1
' 最後に渡す引数が True では、起動時の Shiftキーが有効になります。
ChangeProperty mdbName, "AllowBypassKey", DB_Boolean, False
End Sub | |||
Function ChangeProperty(strDbName As String, strPropName As String, _
varPropType As Variant, varPropValue As Variant) _
As Integer
Dim dbs As DAO.Database, prp As Variant
Dim mdbName As String
Const conPropNotFoundError = 3270
mdbName = strDbName ' フルパス
Set dbs = DBEngine.Workspaces(0).OpenDatabase(mdbName)
On Error GoTo Change_Err
dbs.Properties(strPropName) = varPropValue
ChangeProperty = True
Change_Exit:
Exit Function
Change_Err:
If Err = conPropNotFoundError Then
' プロパティが見つから無い場合は作成する
Set prp = dbs.CreateProperty(strPropName, _
varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
' 認識できないエラー
ChangeProperty = False
Resume Change_Exit
End If
End Function
| |||
|
イミディエィトウィンドウで、これを実行してください。 引数には、設定したい mdb のフルパスを正確に入力します。 例: SetChgProperty ("c:\設定したい.mdb") | |||
≪注意≫設定したい mdb のパスが不正確な場合、エラーで止まります。
| |||
☆ 感想をお知らせください (直接ブラウザから送信致します。メールアカウントは不要です。)
form mail はこちら
Copyright(C) pPoy 2003