使用VBA访问Excel中的access数据库以从电子表格传输批量数据-查询中出错

使用VBA访问Excel中的access数据库以从电子表格传输批量数据-查询中出错,vba,excel,ms-access-2010,Vba,Excel,Ms Access 2010,我似乎无法找出以下语句中from子句的错误: INSERT INTO [tblFYPNameStudents] ([FypID], [Title], [StudentName]) SELECT * FROM [Excel 12.0;HDR=YES;Data Source='C:\Users\Lenovo\Documents\testwb.xlsm'].Sheet1$A5:C26 它导致“错误80040e14,From子句中的语法错误” 代码如下:(我对VBA和所有这些都不熟悉,但我不知道是怎么

我似乎无法找出以下语句中from子句的错误:

INSERT INTO [tblFYPNameStudents] ([FypID], [Title], [StudentName]) SELECT * FROM [Excel 12.0;HDR=YES;Data Source='C:\Users\Lenovo\Documents\testwb.xlsm'].Sheet1$A5:C26
它导致“错误80040e14,From子句中的语法错误”

代码如下:(我对VBA和所有这些都不熟悉,但我不知道是怎么回事。我认为这与from子句中指定excel和数据源的位有关)


您的语法不太正确-应该是:

ssql = ssql & "SELECT * FROM [Excel 12.0;HDR=YES;Database=" & dbWb & "].[" & dsh & "]"

当您调用“AccImport”方法时,您应该说明插补的参数是什么。如果是这样,我们可以更有效地提供帮助。这修复了select from问题,并且我使用Print.Debug检查了获得的记录集,但现在insert into语句出现错误。“我的excel工作表”中的值有“1、项目名称加空格、学生名称加空格”等。我得到的错误是1不是有效的字段名。如果我尝试插入到。。。值(1,“foo-bar”、“jon-doe”)它工作得很好。。。。我遗漏了什么?如果工作表中没有标题行,请使用
HDR=NO
ssql = ssql & "SELECT * FROM [Excel 12.0;HDR=YES;Database=" & dbWb & "].[" & dsh & "]"