前提・実現したいこと
OS:Windows10 Pro 1903 64bit
Access:Office Pro 2016 64bit
Visual Basic 6.0でAccess接続を行う簡易プログラムを作成しております。
Openの箇所で以下エラーメッセージが発生しています。
DAO、ADO接続ともに成功していません。
発生している問題・エラーメッセージ
DAO接続 参照:Microsoft Office15.0 Access database Object Library errMsg:クラスが登録されていません
ADO接続 参照:Microsoft ActiveX Data Object 6.1 Library errMsg:プロバイダーが見つかりません。正しくインストールされていない可能性があります。
該当のソースコード
Visual
1'■Visual Basic 6.0 DAO接続 2Sub Sample() 3 Dim path As String 4 Dim db As DAO.Database 5On Error GoTo proc_err 6 7 'DBパス' 8 path = "D:¥Sample.accdb" 9 10 'DBオープン' 11 Set db = OpenDatabase(path) 12 13 'DB接続成功' 14 Debug.Print "DB接続成功" 15 16 GoTo proc_end 17proc_err: 18 Debug.Print Error 19proc_end: 20 If Not db Is Nothing Then db.Close 21 Set db = Nothing 22End Sub
Visual
1'■Visual Basic 6.0 ADO接続 2Sub Sample() 3 Dim path As String 4 Dim cs As String 5 Dim cn As ADODB.Connection 6On Error GoTo proc_err 7 8 'DBパス' 9 path = "D:¥Sample.accdb" 10 '接続文字列' 11 cs = "provider=Microsoft.ACE.OLEDB.16.0;Data Source=" & path 12 13 'DB接続' 14 Set cn = New ADODB.Connection 15 cn.ConnectionString = cs 16 Call cn.Open 17 18 'DB接続成功' 19 Debug.Print "DB接続成功" 20 21 GoTo proc_end 22proc_err: 23 Debug.Print Error 24proc_end: 25 'DB接続解除' 26 If cn.State <> adStateClosed Then cn.Close 27 Set cn = Nothing 28End Sub
試したこと
「Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント 32bit」のインストールで接続できることを確認。
→Visual Basic 6.0のAccess接続は32bitライブラリでないと動作できない?
補足情報(FW/ツールのバージョンなど)
参考URL
http://note.phyllo.net/?eid=1106279
http://note.phyllo.net/?eid=1106281
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/15 05:31
2019/11/15 06:16
2019/11/21 03:28