FROM子句中的语法错误。从MS插入记录进入到另一个MS Access数据库
问题描述:
这是我的代码FROM子句中的语法错误。从MS插入记录进入到另一个MS Access数据库
string stR = "INSERT INTO CHECKINOUT (USERID,CHECKTIME,CHECKTYPE,VERIFYCODE,SENSORID,WorkCode) " +
" SELECT a.USERID,c.CHECKTIME,c.CHECKTYPE,c.VERIFYCODE,c.SENSORID,c.WorkCode " +
" FROM USERINFO a " +
" JOIN [MS Access;DATABASE=" + open.FileName + "].USERINFO b " +
" ON a.BadgeNumber=b.Badgenumber " +
" JOIN [MS Access;DATABASE=" + open.FileName + "].CHECKINOUT c " +
" ON b.USERID=c.USERID " +
" WHERE NOT EXISTS " +
" (SELECT a.USERID,c.CHECKTIME,c.CHECKTYPE,c.VERIFYCODE,c.SENSORID,c.WorkCode " +
" FROM USERINFO a " +
" JOIN [MS Access;DATABASE=" + open.FileName + "].USERINFO b " +
" ON a.BadgeNumber=b.Badgenumber " +
" JOIN [MS Access;DATABASE=" + open.FileName + "].CHECKINOUT c " +
" ON b.USERID=c.USERID)";
我得到异常错误“语法错误在FROM子句”
注:我已经出口的所有的MS Access表,以毫秒SQL 2000数据库和这个脚本工作正常,没有错误,但与MS访问我收到这种错误,这是我第一次使用MS访问作为后端,这是我的办公室,我需要一个旧程序修复错误。
答
我的第一个问题是哪个FROM子句失败。我会分别测试每个部分。如果删除WHERE NOT EXISTS子句,查询是否工作?如果是这样,那么问题出现在WHERE NOT EXISTS引用的子查询中。
我猜连接语法与SQL Server相比在访问方面略有不同。它需要加入“内部”和“外部”关键字。您可以通过在Access查询设计器中创建一个SQL来检查它,并检查它的语法如何生成这些查询 – ak1
请参阅http://stackoverflow.com/a/18968078/20371 – Yawar
可能的重复[Access query error(“syntax error in条款“)](http://stackoverflow.com/questions/18967627/access-query-error-syntax-error-in-from-clause) – Yawar