• ベストアンサー

起動時シフトキーを無効にして、作成した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

質問者が選んだベストアンサー

  • ベストアンサー
  • t2hayashi
  • ベストアンサー率46% (102/219)
回答No.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)
回答No.2

ACCESSのバージョンは? そもそもエラー時の動きなのでエラーが出ないようにすることを 考えるほうが本質的かと。 ちなみに該当行を Set prp = Dbs.CreateProperty("AllowBypassKey", dbBoolean, True) としたらどうですか?

androp
質問者

補足

Access2000です。 Access2003では、うごきました。

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

当方のAccess2003ではこのコードでそのまま通りますが ・・・ 引数varPropValueを varPropValue As Booleanと型指定してもだめでしょうか

関連するQ&A

専門家に質問してみよう