• ベストアンサー

パスワードが正しくありません。

エクセルからPW付のアクセスファイルへADOで 接続したいのですが cn.Open "Provider = Microsoft.ACE.OLEDB.12.0;Data Source= D:PW.accdb;Jet OLEDB:Database Password=0000;" とすると 実行時エラー2147217843 パスワードが正しくありません。 と言うエラーになります。 でもパスワードはあってます。 手入力なら開けます。 コードが間違ってるのでしょうか?

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

  • ベストアンサー
回答No.2

Access2010の場合ですが ファイル→オプション→クライアントの設定の下の方に 暗号化方法 『以前の暗号化方法を使用する(下位互換性が必要な場合や複数のユーザーがデータベースを共有する場合に最適)』 『既定の暗号化方法を使用する(高度なセキュリティ)』 の二つがあります。 既定の暗号化方法を使用している場合はExcelからADO・DAOでの接続はできません(未対応) また、 リボンのデータ→外部データの取り込みでAccess データベースを指定すると 正しいパスワードを入れていても入力を繰り返し求められます(何もエラーは出ません) ですので、 パスワードを解除し 以前の暗号化方法を使用するにチェックを入れ直し、OK (Accessの再起動が必要だったかも) 再度パスワードの設定を行うしかありません。

cookpccr
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

参考WEB記事。 https://msdn.microsoft.com/ja-jp/library/cc376618.aspx Jet OLEDB:Database Password ・Open メソッド Password 引数とは同じではないことに注意してください --- http://yasusigi.net/iasdocs/aspdocs/ref/comp/dameth03.htm Connection オブジェクトの場合: ・Password (省略可能) 接続を確立する際に使用するパスワードを格納する文字列型 (String) です。 ーー 現在のコードのPasswordの部分を「Passwordなし」の記述にしてやってみるとどうなりますか。 ーー 見当違いの折は、お詫びします。

cookpccr
質問者

お礼

ありがとうございました。