0

好的,所以我读过这个相同的问题,但答案对我不起作用:

连接 VB6 和 MS Access 2007

我删除了对Microsoft DAO 3.6 Object Library的引用,并将其替换为对Microsoft Office 12.0 Access 数据库引擎 Object的引用。

这是我的代码:

Dim rcdSetData As ADODB.Recordset

Set rcdSetData = New ADODB.Recordset
rcdSetData.CursorType = adOpenStatic
rcdSetData.ActiveConnection = _
    "Provider=Microsoft.Jet.OLEDB.4.0; " _
    & "Data Source=" & DBName & "; "

我可以很好地打开 Access 2003 *.mdb 文件,但是当我尝试打开 Access 2007 *.accdb 文件时,我得到:

Error #blahblah, Unrecognized database format 'C:\path\foo.accdb'

foo.accdb 是一个有效的 Access 2007 文件,就 Access 2007 而言。没有密码,顺便说一句,当我运行程序时,它没有在 Access 中打开。

我难住了。我可以在网上找到的每个答案都表明我做得对.... :\

4

2 回答 2

3

DAO 引用(无论是该库的 Access 2007 之前或之后的版本)是无关紧要的,因为您的 VB 代码正在使用 ADO。您的问题在于连接字符串。尝试更换

"Provider=Microsoft.Jet.OLEDB.4.0; " _

"Provider=Microsoft.ACE.OLEDB.12.0; " _
于 2013-11-05T21:00:54.410 回答
0

如果您最近重新安装了 VB6,请确保为它下载并安装 Service Pack SP6。

于 2013-11-05T21:01:07.783 回答