好的,所以我读过这个相同的问题,但答案对我不起作用:
Connecting VB6 and MS Access 2007
我删除了对 Microsoft DAO 3.6对象库的引用,并将其替换为对 Microsoft Office 12.0 Access数据库引擎对象的引用。
这是我的代码:
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而言。没有密码,BTW,当我运行程序时它没有在Access中打开。
我很难过。我在网上找到的每个答案都说我正在做这件事......:\
答案 0 :(得分:3)
DAO引用(对于该库的Access之前版本或之后的版本)是无关紧要的,因为您的VB代码正在使用ADO。你的问题在于连接字符串。尝试替换
"Provider=Microsoft.Jet.OLEDB.4.0; " _
与
"Provider=Microsoft.ACE.OLEDB.12.0; " _
答案 1 :(得分:0)
如果您最近重新安装了VB6,请确保为其下载并安装Service Pack SP6。