Access Tips by pPoy

  
トップへ←Top    QueryへQuery  FormへForm  ReportへReport  Module(Sub)へSub  Module(Function)へFunction  ExcelへExcel  Etc.へEtc.  Word連携へWord

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 のパスが不正確な場合、エラーで止まります。
Microsoft DAO *.* Object Library への参照設定が必要です



【念の為の注意書きです。】
このページ(下位ページ含む)の全ての物の無断転載を禁止いたします。又、当ページ(下位ページ含む)に記載されていることは、全て自己の責任において実行してください。

☆ 感想をお知らせください (直接ブラウザから送信致します。メールアカウントは不要です。)
  form mail はこちら

Copyright(C) pPoy 2003