セキュリティを設定したACCESS MDBファイルに、どうしても接続できません。
「読み取り権限がないので、レコードを読み取ることができません」というメッセージが出て接続を拒否されてしまいます。
セキュリティの設定はユーザーグループの権限として
「ユーザーがテーブルデザインの変更ができないようにする」「セキュリティ設定が不可能なようにする」という目的のため、「構造の変更」「管理者」の権限をOFFにしています。
それ以外の権限はすべてONにしています。
そして、名前とパーソナルIDが「userA」というユーザーを作成してユーザーグループに所属させています。
Set db = DBEngine.OpenDatabase("C:\My Documents\db1.mdb",False, False, ";pwd=mypassword")
上に書いたVBからパスワードプロテクトされているAccess MDBファイルに接続するときのような方法で、接続文字列等の設定をいろいろと変えてみましたが、うまくいきませんでした。
接続できる方法をご存知の方、教えていただけませんでしょうか?
どうぞよろしくお願いいたします。
「DAOによる接続」で良いのですよね?
> Set db = DBEngine.OpenDatabase("C:\My Documents\db1.mdb",False, False, ";pwd=mypassword")
ここで指定した";pwd=mypassword"は、
共有レベル セキュリティパスワードの指定ですね。
ユーザー レベル セキュリティ パスワードの指定は、この前段階、
すなわち、Workspaceの生成時点で行う必要があります。
(場合によっては、ワークグループの変更のために、さらに
DBEngine.SystemDBも設定する必要があるかもしれません)
DAOのヘルプで、CreateWorkspaceメソッドについて調べてみてください。
魔界の仮面弁士様、アドバイスありがとうございます。
魔界の仮面弁士様のアドバイスを手がかりに、ヘルプや書籍などを調べてみましたが、DAOのJETワークスペース、DBENGIN、WORKSPACEといった概念がよく理解できません。もう少し勉強して疑問点を絞り込んでからまた質問したいと思います。
ツイート | ![]() |