プロが教えるわが家の防犯対策術!

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名は合っています。

A 回答 (4件)

>Dim strDatabase As String


>Dim cn As Object
>Dim rs As Object

Sub xx()

Dim の宣言は SUB の中では??
  
       外 は  Public 等では?
    • good
    • 0

「Office2000と他バージョンのランタイムの同居」


まさにこれが原因っぽいですね。

Office 2000をアンインストール後/インストールしてみて、解消するかな?(想像の世界)
すいません。自信は持てません。
    • good
    • 0

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の再インストールをしてみます。

補足日時:2005/09/08 18:46
    • good
    • 0

※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"

この回答への補足

*1~*3をテストしましたが、全てエラーでした。
スクリプトのエラーメッセージは
「DLLでエラーが発生しました」でした。
で、色々調べていたのですが、今テストしてるPCだけで発生しているようです。
そこで、気になる所を見つけたのですが・・・
そのPCには
 Office 2000 SR-1 Professional <- Access2000

 MS Access 2002 RunTime
がインストールされています。
これが何か悪さをしてしるのでしょうか?

補足日時:2005/09/08 17:45
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!