Ms Access运行时错误2147217805(80040e73)初始​​化字符串的格式不符合OLE DB规范

时间:2019-01-15 15:42:56

标签: ms-access

如标题中所述,我遇到了以下代码的连接问题:

Set xl = New Excel.Application
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset                        
Set wb = xl.Workbooks.Open(fileName)
Set ws = wb.Sheets("Sheet1")
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & fileName & ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1;';"

我试图将数据从“ * .xls”文件导入到Access表中,同时在输入之前对原始数据进行一些编辑。

我想这是cn.Open部分触发了该错误,但是不确定我应该更改哪个部分来修复它。

预先感谢所有帮助。

1 个答案:

答案 0 :(得分:1)

使用双双引号分隔OLEDB连接字符串中的字符串:

cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & fileName & ";Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;"";"

就像在VBA中一样,OLEDB要求字符串用双引号而不是单引号定界。

由于双引号是VBA中的字符串定界符,因此您需要将双引号加倍才能转义。