MS Access关联更新时语法错误:运行时错误'3075'求助
解决MS Access运行时错误'3075':语法错误(缺少运算符)
嘿,我帮你搞定这个Access报错的问题!这个错误的根源是你写的更新SQL不符合Access特有的UPDATE JOIN语法规则,咱们一步步来修正:
错误原因分析
你给出的报错片段ct.ContainerID FROM tblCrossarm AS mt INNER JOIN tblContainerTemp AS ct ON mt.SerialNumber = ct.SerialNumber,明显是把SELECT语句的结构硬塞到UPDATE里了——Access的更新关联语法和标准SQL不一样,它不允许这种写法,所以才会提示“缺少运算符”的语法错误。
正确的Access关联更新语法
Access要求关联更新必须遵循UPDATE [表1] INNER JOIN [表2] ON [关联条件] SET [要更新的字段] = [来源字段]的结构,举个贴合你场景的例子:
UPDATE tblCrossarm AS mt INNER JOIN tblContainerTemp AS ct ON mt.SerialNumber = ct.SerialNumber SET mt.ContainerID = ct.ContainerID
关键注意事项
- 必须明确指定被更新表的字段:比如例子里的
mt.ContainerID,Access需要知道你要把值赋给哪个表的哪个字段,不能只写来源字段ct.ContainerID就结束 - 严格遵循Access的UPDATE结构:先写更新的表和关联关系,再用
SET子句指定赋值逻辑,别把SELECT的FROM结构混进来 - 检查关联字段类型:确保
mt.SerialNumber和ct.SerialNumber的字段类型完全匹配(比如都是文本/数字),类型不匹配也可能触发类似的语法或关联错误
内容的提问来源于stack exchange,提问作者Joshu's Mu
相关产品推荐
相关产品推荐

