运行时错误无法识别的数据库,而从excel 2010导出数据到使用excel vba访问表2010

我有一个在Access 2010数据库与Excel表中列名称相同的列名称的表。 我必须删除Access表数据内容之前,从我的macrosenalbed Excel 2010表单中的数据进入它。现在我试图看看/testing如果我可以泵我的Excel数据空表在Access中。 一旦我得到这个工作,我可以'删除内容之前倾销Excel数据'工作。

这是我的Excel VBAmacros代码:

Sub ADOFromExcelToAccess() 'exports data from the active worksheet to a table in an Access database Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long ' connect to the Access database Set cn = New ADODB.Connection cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _ "Data Source=C:\Users\shress2\Documents\TSS_Certification\TSS_Certification.accdb;" ' open a recordset Set rs = New ADODB.Recordset rs.Open "t_certification_051512", cn, adOpenKeyset, adLockOptimistic, adCmdTable ' all records in a table r = 2 ' the start row in the worksheet Do While Len(Range("A" & r).Formula) > 0 ' repeat until first empty cell in column A With rs .AddNew ' create a new record ' add values to each field in the record .Fields("Role") = Range("A" & r).Value .Fields("Geo Rank") = Range("B" & r).Value .Fields("Geo") = Range("C" & r).Value ' add more fields if necessary... .Update ' stores the new record End With r = r + 1 ' next row Loop rs.Close Set rs = Nothing cn.Close Set cn = Nothing 

结束小组

我添加了工具 – >参考并selectMicrosoft ActiveX数据对象6.0对象库。

我得到运行时错误'-2147467259(80004005)':无法识别的数据库格式'C:\ Users \ shress2 \ Documents \ TSS_Certification \ TSS_Certification.accdb

任何原因为什么? 我该如何解决? 谢谢。

您正在连接到.accdb数据库文件。 这是一个Access 2007/2010格式。
Microsoft.Jet.OLEDB.4.0提供程序是为Access 2003时代的mdb文件而构build的。
我不认为你可以连接到该提供商(它无法识别文件格式)。

尝试改变你使用的连接string

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\shress2\Documents\TSS_Certification\TSS_Certification.accdb;"