エクセルからアクセスに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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- PDF Googleドキュメントのpdf文書にパスワードを設定したい 1 2023/08/04 20:55
- Excel(エクセル) Excelを開くとエラーが出る 2 2022/10/03 16:13
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- Yahoo!メール YahooIDをパスワード形式にしただけなのに、利用規約違反とされて電話番号が使えなくなりました 1 2023/03/15 20:44
- Yahoo!メール YahooIDをパスワード形式にしただけなのに、利用規約違反とされて電話番号が使えなくなりました 3 2023/03/25 04:08
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- Visual Basic(VBA) VBAでファイル名を指定して保存するとき 4 2023/03/26 21:55
- 囲碁・将棋 囲碁 KGS の cgoban ログインパスワードを忘れた対策 1 2023/04/10 08:20
- Excel(エクセル) エクセルでシートを別のブックにコピーや移動する際に出るエラーのような窓を回避するには? 1 2023/06/05 21:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
希望の位置へフィールドを追加...
-
DAOでのコードをADOへ書き直し
-
sqlite3の動作が?xamppでは問...
-
キャッシュとバッファの違いは?
-
データベースの最適化をマクロ...
-
データベースの使用例とその技術
-
VBAかSQL?
-
DBとテキストファイルの比較
-
汎用カード型のデータベースソ...
-
SQL Server にファイルを登録、...
-
ORACLEパフォーマンス改善方法
-
Access or SQLServer どちらを...
-
AndroidからのAccessデータベー...
-
型 varchar から型 numeric へ...
-
「桐」の得手不得手
-
Access 外部データ インポー...
-
listener.logが肥大化
-
Access 拠点間で使用する
-
UNIX時間をEXCEL上で日付・時間...
-
Developer2000って何?(^^;
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
希望の位置へフィールドを追加...
-
UNION ALLのように順番がありNU...
-
accessのvbaでの実行時エラーに...
-
FindFirst複数条件
-
列名が無効です
-
Berkeley DB 1.85 -> GNU dbm ...
-
whileが上手く回らず困っています
-
エクセルからアクセスにADO...
-
三枝夕夏って?
-
データベースの変換
-
Access 余分な件数分データ削除...
-
DAOでのコードをADOへ書き直し
-
パススルークエリの使い方について
-
型 varchar から型 numeric へ...
-
データベースの最適化をマクロ...
-
accessの勉強ができるサイトは?
-
構文エラー:演算子がありませ...
-
クエリをキャンセルしたいので...
-
CDの売上枚数を知りたいのですが
-
データベースの選定について 要...
おすすめ情報