- ベストアンサー
VBからAccessへの接続でエラー
OS:Win2K SP4 SOFT:VB6 ACCESS2K Dim strDatabase As String Dim cn As Object Dim rs As Object Sub xx() Set cn = CreateObject("ADODB.Connection") Set rs = CreateObject("ADODB.Recordset") strDatabase = "C:\出荷配送システム\mftbc.mdb" cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & strDatabase ・ ・ ・ End Sub 上記ソースの「cn.OPEN」メソッドでエラーが発生します。 エラー内容は 'OPEN'メソッドは失敗しました。'_Connection'オブジェクト データベースに接続できません。 です。 何が原因なんでしょうか?? mdbのあるPath,File名は合っています。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
※1 別のMDBを利用しても同じですか? ※2.その部分をVBスクリプトに実行すると、エラーは発生しますか? 以下のコードをメモ帳に張って、拡張子をVBSにして、実行してみてください。 Set cn = CreateObject("ADODB.Connection") cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\出荷配送システム\mftbc.mdb" cn.Close Set cn = Nothing msgbox "処理終了" ※3 2で行ったスクリプトを別のMDBにしてもエラーが発生しますか? cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\出荷配送システム\mftbc.mdb" ↓ cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb"
その他の回答 (3)
- m2m10
- ベストアンサー率0% (0/11)
>Dim strDatabase As String >Dim cn As Object >Dim rs As Object Sub xx() Dim の宣言は SUB の中では?? 外 は Public 等では?
- 1050 円(@1050YEN)
- ベストアンサー率69% (477/687)
「Office2000と他バージョンのランタイムの同居」 まさにこれが原因っぽいですね。 Office 2000をアンインストール後/インストールしてみて、解消するかな?(想像の世界) すいません。自信は持てません。
- O_cyan
- ベストアンサー率59% (745/1260)
1050YENさんと同様ですが・・ cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & strDatabase を cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\出荷配送システム\mftbc.mdb;" にして接続はできるのでしょうか? Dim cn As New ADODB.Connction Dim rs As New ADODB.Recordset cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\出荷配送システム\mftbc.mdb;" 'レコードセット処理 rs.Open "・・・・・ 上記では接続どうでしょうか?
補足
すみません。 最初の記述が「Data Source=C:\出荷配送システム\mftbc.mdb;」でした。 で、日本語がダメなのかな?って思ったので変数に代入しました。 因みに「OLDDB.4.0」を「OLEDB.3.51」にしたら "Providerがありません"って怒られました。 ACC97なんて入ってないので当たり前ですが・・・ 下の方の補足にも書きましたが、 Office2000とMS Access2002RunTimeの同居が怪しいので RunTimeをアンインストールして、ダメならOffice2000の再インストールをしてみます。
補足
*1~*3をテストしましたが、全てエラーでした。 スクリプトのエラーメッセージは 「DLLでエラーが発生しました」でした。 で、色々調べていたのですが、今テストしてるPCだけで発生しているようです。 そこで、気になる所を見つけたのですが・・・ そのPCには Office 2000 SR-1 Professional <- Access2000 と MS Access 2002 RunTime がインストールされています。 これが何か悪さをしてしるのでしょうか?