我在Excel中使用VBA生成要在VBA过程中执行的INSERT语句。当我运行代码时,我在INSERT INTO语句中得到运行时错误'语法错误'当我到达Execute语句时 - 如果你在Access中的SQL视图中做错了,你会得到同样有用的消息。但是,当我运行由Access 中的VBA代码生成的SQL字符串时,使用旧式Copy&粘贴,它运行正常 - 没有错误消息,当我打开表时记录就在那里。
这不是我在VBA中执行命令的方式,因为我有一个可以正常工作的DELETE语句。代码如下:
Set Cn = CreateObject("ADODB.Connection")
Set Rs = CreateObject("ADODB.Recordset")
Cn.Open cnPath
SQLStr = "SELECT * FROM [" & tblName & "]"
Rs.Open SQLStr, Cn, 1, 3
'code builds SQL str here by looping through
'table headers and relevant row
Cn.Execute SQLStr
结果SQLStr是这样的:
INSERT INTO [Size Profiles] (Season,Region,Department,ProfType,ColourID,ArticleNumber,StyleName,Colour,Comments,Channel,Fit,SizeProfile,LastChanged,Identifier,FileName,Size,RegionSizeRun,Site,ActualSizeProfile,ActualFileName,ActualLastChanged,ActualPairs,Fixing,Oddity) VALUES ('AW2018', 'UK', 'Childrens', '', 188473, 26145715, 'Product Name', 'Product Colour', '', 'Retail', 'F(M)', 0.186, #05/09/2018#, '26145715AW2018DC01UKF(M)', 'New Sizing Template.xlsb', 70, '', 'DC01', 0, '', #05/09/2018#, 0, '0', '')
之前有没有人见过这个问题?