ADOでパスワード付きデータベースを開く方法が解らず、朝から四苦八苦&試行錯誤の連続。パスワードを取ると正常に処理するから、後は指定の方法だけだと思うのだが...
ヘルプを検索しても載っていない。やっとネットで探し当て「ヤッター」と思ったら、標記のエラーが出る (;_;)
イライラしているところへ選挙の電話が掛かる。「ヤカマシー」と言いたいところを グ、グッとこらえる....
おいおい、また電話かぁ〜
「YahooBBですが...」
「お〜、ちょうどいい」「チョッと教えてょ」
「ハイ、どうぞ」
「インストール可能なISAMドライバーが見つかりませんでしたの原因は何?」
「また、電話します」
あ〜ぁ、切れちゃったぁ...
夜11時過ぎ、Microsoft Universal Data Access でヤッと見つけて完成した。 (ヤレヤレ)
原因は、"Jet OLEDB:"が抜けていたためだった。
補足:パスワードは、シングルクォーテーションでくくること。
「マイクロソフトさ〜ん。ヘルプに載せてよぉ〜〜」、それとも探し方が悪いの?
共有レベル (パスワード保護) データベース
次のリストでは、共有レベルで保護されている Microsoft Jet データベースを開く方法を示します。DAO Sub DAOOpenDBPasswordDatabase() Dim db As DAO.Database Set db =DBEngine.OpenDatabase("C:\nwind.mdb", False, False, _ ";pwd=password") db.Close End Sub ADO Sub ADOOpenDBPasswordDatabase() Dim cnn As NewADODB.Connection cnn.Open"Provider=Microsoft.Jet.OLEDB.4.0;" & _ "DataSource=C:\nwind.mdb;Jet OLEDB:Database Password=password;" cnn.Close End SubDAO では OpenDatabase メソッドの Connect パラメータが、データベースを開くときにデータベース パスワードを設定します。ADO では、その代わりに Jet Provider の接続プロパティ Jet OLEDB:Database Passwordがパスワードを設定します。