使用INNER JOIN的简单UPDATE查询在Access .MDB数据库上使用VB6和DAO会导致我出现问题。
我认为这很简单,但无论我做什么改变都会产生错误。
我的查询是:
UPDATE work
INNER JOIN emp ON work.ref = emp.ref
SET work.code1 = emp.code1
这会生成运行时错误3075 Syntax error in query expression 'work.ref = emp.ref'
。
我收到类似的错误:
UPDATE work w
INNER JOIN emp ON w.ref = emp.ref
SET w.code1 = emp.code1
和
UPDATE [work] w
INNER JOIN emp ON w.ref = emp.ref
SET w.code1 = emp.code1
如果我对表emp使用别名e。
我不能使用Access中不支持的FROM
子句(感谢@MarkKram)
我必须在VB6中使用DAO 3.51(旧!),这是不容易改变的。
我在work
的{{1}}的第一个引用周围尝试过方括号(我在简单的UPDATE [work]
中需要这个)以及包含和不包含方括号的各种组合表名和列名。但它仍然失败了。
你有什么建议吗?
SELECT * FROM [work]
答案 0 :(得分:3)
试试这个:
UPDATE work, emp
SET work.code1 = emp.code1
WHERE work.ref = emp.ref AND work.transcode ='P'