首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >访问VBA SQL运行时错误'3075‘语法错误

访问VBA SQL运行时错误'3075‘语法错误
EN

Stack Overflow用户
提问于 2017-10-17 22:07:11
回答 1查看 476关注 0票数 0

我试图运行这段代码,但它给出了错误消息:

运行时错误'3075';“查询表达式中的语法错误(缺少运算符)”

我应该如何纠正这个错误?

我希望将CellNumber插入到带有DateTime、string和CellNumber的错误表中,这是在table1中而不是在变量表中。

代码语言:javascript
运行
复制
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 & ")"
EN

回答 1

Stack Overflow用户

发布于 2017-10-17 23:08:41

代码语言:javascript
运行
复制
 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

我就是这么做的

编辑

  1. 我会亲自设置默认值为DateTime的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。

  1. 我绝不会使用DateTimeErrorVariable作为表或字段名,因为即使access可以处理它(例如,通过分隔保留名称[DateTime] ),在尝试对代码和sql进行故障排除时,它可能会引起混淆和误导。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46799963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档