我试图运行这段代码,但它给出了错误消息:
运行时错误'3075';“查询表达式中的语法错误(缺少运算符)”
我应该如何纠正这个错误?
我希望将CellNumber插入到带有DateTime、string和CellNumber的错误表中,这是在table1中而不是在变量表中。
Dim sqlstr As String
sqlstr = "SELECT CellNumber FROM table1 WHERE CellNumber NOT IN (SELECT CellNumber FROM Variable)"
DoCmd.RunSQL "INSERT INTO ERROR ([DateTime], RowNum, Error) SELECT Now(), 'string' as RowNum, CellNumber FROM(" & sqlstr & ")"发布于 2017-10-17 23:08:41
Dim sqlstr As String
sqlstr = "INSERT INTO Error ( [DateTime],RowNum, Error ) " & _
"SELECT Now() , 'String' , table1.cellnumber FROM table1 " & _
"LEFT JOIN Variable ON table1.cellnumber = Variable.cellnumber " & _
"WHERE Variable.cellnumber Is Null"
currentdb.execute sqlstr, dbfailonerror我就是这么做的
编辑
Now()标记字段,并将其从sql altogether...All中删除,新记录将得到时间戳,从而减少出错的空间。把sqlstr作为字符串sqlstr =“插入到tblError ( StringField,CellNumber )”和“选择' String‘,table1.cellnumber FROM table1”&“左联接table2 ON table1.cellnumber”&_“其中table2.cellnumber”&_“其中table2.cellnumber为空”currentdb.execute sqlstr,db故障tblError。
DateTime、Error或Variable作为表或字段名,因为即使access可以处理它(例如,通过分隔保留名称[DateTime] ),在尝试对代码和sql进行故障排除时,它可能会引起混淆和误导。https://stackoverflow.com/questions/46799963
复制相似问题