
エクセルからアクセスにADOで接続したいのですが
アクセスのファイルにはパスワードがかかっていて、
そのパスワードを指定して開こうとしてるのですが
パスワードが違います、と言うエラーになります。
でもパスワードは確実に合っています。
構文がおかしのでしょうか?
cn.Open "Provider = Microsoft.ACE.OLEDB.12.0;Data Source=" & _
"C:\PW.accdb;" & _
"Jet OLEDB:Database Password=0000;"
パスワードがあっててもエラーになることはありますか?
ファイルのパスをでたらめに変えたら違うエラーが発生したので、ファイルのパスもあっています。

No.2ベストアンサー
- 回答日時:
Accessのプロセスが残ってしまうので
下記に変更を。
※Microsoft Office 14.0 Access Database Engine Object Library に参照設定が必要です
Sub da2()
Dim ac As Object
Dim db As DAO.database
Dim rs As DAO.Recordset
Set ac = CreateObject("Access.Application")
Set db = ac.DBEngine.OpenDatabase("e:\calendar.accdb", False, True, ";pwd=0000")
Set rs = db.OpenRecordset("select * from 休日")
Cells(1, 1).CopyFromRecordset rs '←ここも適宜修正を
rs.Close: Set rs = Nothing
db.Close: Set db = Nothing
ac.Quit: Set ac = Nothing
End Sub
No.1
- 回答日時:
Access2010のaccdb なら
http://oshiete.goo.ne.jp/qa/7948601.html
かな?
上記リンク先のように以前の暗号化方法に変えてADOのままか
下記のようにするか
※Microsoft Office 14.0 Access Database Engine Object Library に参照設定が必要です
Sub da()
Dim db As DAO.database
Dim rs As DAO.Recordset
Set db = DBEngine.OpenDatabase("e:\calendar.accdb", False, True, ";pwd=0000")
Set rs = db.OpenRecordset("select * from 休日")
Cells(1, 1).CopyFromRecordset rs
db.Close
Set db = Nothing
End Sub
で、とりあえずレコードの取得は出来るかと思います。
良く調べてはいないのですが何故かADOだと・・・???。
早速のご回答ありがとうございます。
DAOを使えばできるのですね。
今すべてADOで作ってしまったので、書き換えようと思います。
ちなみに質問後検証してみたのですが
なぜか同じコードで、アクセスvbaで実行するとパスワード付きのファイルに接続することができました。
同じコードをエクセルvbaに張り付けて実行すると質問文と同じエラーになります。
エクセル側に原因がありそうです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パススルークエリの使い方について
-
FindFirst複数条件
-
AndroidからのAccessデータベー...
-
listener.logが肥大化
-
データベースの2GBって・・・?
-
sqlite2とsqlite3の違いについて
-
検索CGIを探しています
-
型 varchar から型 numeric へ...
-
Access 外部データ インポー...
-
バッファプールって?
-
データ.mydファイルのテキス...
-
蔵書管理のフリーソフト
-
データベースに接続したままの...
-
エクセルの重複データの曖昧検索
-
クエリをキャンセルしたいので...
-
メディアプレーヤーの音楽情報
-
リムーバブルディスク?
-
アクセスのデータが書き換えら...
-
SQLServerの接続設定(ODBC)
-
スタライズとは、どういう意味...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
希望の位置へフィールドを追加...
-
キーワードを1つにまとめたいです
-
現在CentOSにOpenldapをインス...
-
パススルークエリの使い方について
-
FindFirst複数条件
-
VBAのfor next で繰り返しが出...
-
[ACCESS/VBA]動的にSQL文を...
-
Access2000のVBAでコンパイルエ...
-
accessのvbaでの実行時エラーに...
-
データベースの変換
-
UNION ALLのように順番がありNU...
-
DAO フィルターをかけたい エ...
-
110db+110db=?db 教えて下さい。
-
型 varchar から型 numeric へ...
-
JavaとOracle Javaって何が違う...
-
データベースの最適化をマクロ...
-
SQL Serverとは?
-
AndroidからのAccessデータベー...
-
データベースの2GBって・・・?
-
ハイフン無しの電話番号データ...
おすすめ情報