- ベストアンサー
起動時シフトキーを無効にして、作成したmdbのセキュリテーを高める方法について
以下のコードは、次回起動時シフトキーを無効にする方法らしいのですが、★印のところで、型が一致しませんとエラーが出てしまいます。 どうしてでしょか?対応方法を教えてください。 Function NoShiftKey() ChangeProperty "AllowBypassKey", dbBoolean, False End Function Function ChangeProperty(strPropName As String, varPropType, varPropValue) As Integer On Error GoTo エラー Dim dbs As Database, prp As Property Const conPropNotFoundError = 3270 Set dbs = CurrentDb dbs.Properties(strPropName) = varPropValue ChangeProperty = True Exit Function エラー: If Err = conPropNotFoundError Then Set prp = dbs.CreateProperty(strPropName, varPropType, varPropValue) '★この行でエラーがでます。 dbs.Properties.Append prp Resume Next Else ChangeProperty = False Exit Function End If End Function
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
no.2回答者です。 私がAC2000で使ってたコードです。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Public Function notshift() Dim Dbs As Database Dim prp As Property On Error GoTo error1 Set Dbs = CurrentDb '外部DBの場合はOpenDatabaseでフルパス指定 'shiftキーが利かないようにする E2: If Dbs.Properties!AllowBypassKey = True Then Dbs.Properties!AllowBypassKey = False MsgBox ("バイパスキー使用不可になりました") Else Dbs.Properties!AllowBypassKey = True MsgBox ("バイパスキー使用可になりました") End If Dbs.Properties.Refresh Exit Function error1: If Err = 3270 Then 'プロパティーが見つからない場合createする Set prp = Dbs.CreateProperty("AllowBypassKey", dbBoolean, True) 'プロパティーに追加する Dbs.Properties.Append prp Resume E2 End If MsgBox "設定失敗しました。" End Function
その他の回答 (2)
- t2hayashi
- ベストアンサー率46% (102/219)
ACCESSのバージョンは? そもそもエラー時の動きなのでエラーが出ないようにすることを 考えるほうが本質的かと。 ちなみに該当行を Set prp = Dbs.CreateProperty("AllowBypassKey", dbBoolean, True) としたらどうですか?
- redfox63
- ベストアンサー率71% (1325/1856)
当方のAccess2003ではこのコードでそのまま通りますが ・・・ 引数varPropValueを varPropValue As Booleanと型指定してもだめでしょうか
補足
Access2000です。 Access2003では、うごきました。