语法错误 (操作符丢失) 在查询表达式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了语法错误 (操作符丢失) 在查询表达式相关的知识,希望对你有一定的参考价值。

语法错误 (操作符丢失) 在查询表达式 'NOW() FROM MAN_CONTRACT_MATERIAL M' 中。 UPDATE MAN_CONTRACT_MATERIAL SET QTY=T.QTY, UPDATE_USER=1, UPDATE_TIME=NOW() FROM MAN_CONTRACT_MATERIAL M, (SELECT P_ID,PART_NO,QTY,UNIT,I_E_FLAG FROM MAN_CONTRACT_MATERIAL_TMP_IMPORT WHERE CREATE_USER=1) T WHERE M.P_ID=T.P_ID AND M.PART_NO=T.PART_NO AND M.I_E_FLAG=T.I_E_FLAG Ole连接accss数据库时出的错

access数据库 如果表中有主键,比如姓名。 则
update 表1 inner join 表2 on 表1.姓名=表2.姓名
set 表1.职称=表2.职称,表1.部门=表2.部门

或者利用一下ACCESS的专有函数 DLOOKUP (这个你自己查一下帮助中的说明就明白了)
update 表1 set 职称=DLOOKUP("职称","表2","姓名='"&姓名&"'")
where not isnull(DLOOKUP("职称","表2","姓名='"&姓名&"'"))
如果表中有主键,比如姓名。 则
update 表1 inner join 表2 on 表1.姓名=表2.姓名
set 表1.职称=表2.职称,表1.部门=表2.部门

或者利用一下ACCESS的专有函数 DLOOKUP (这个你自己查一下帮助中的说明就明白了)
update 表1 set 职称=DLOOKUP("职称","表2","姓名='"&姓名&"'")
where not isnull(DLOOKUP("职称","表2","姓名='"&姓名&"'"))
参考技术A 这个很显然的是sql语法错误你把整个sql语句贴出来,并说明各字段的类型,否则怎么找错误 参考技术B 你这个可以用Access自动生成SQL语句啊,新建查询向导,然后选择要查询的表和列就可以了.

查询表达式中的语法错误(缺少运算符) - VBA

【中文标题】查询表达式中的语法错误(缺少运算符) - VBA【英文标题】:Syntax error (missing operator) in query expression - VBA 【发布时间】:2021-06-18 05:38:26 【问题描述】:

这是我的代码:

    M_BKID = DMax("BK_ID", "BookingMain")
    FSQL = " UPDATE Q_HrsToBeRefund_Writeable " & _
           " SET BD_ToBeRefund = False, BD_Refunded = True, BD_RefundedRef = " & M_BKID & " " & _
           " ORDER BY BD_Dt DESC LIMIT " & M_Refunded & " "
           
    Debug.Print FSQL            ' ********************************
    DoCmd.RunSQL FSQL

我收到一个错误

查询表达式 '184 ORDER BY BD_Dt DESC 限制 3 中的语法错误(缺少运算符)

谁能帮我解决这个问题?

【问题讨论】:

【参考方案1】:

MS Access 绝对不支持 UPDATE 中的 LIMIT。我认为它也不支持TOP。但你可以这样做:

UPDATE Q_HrsToBeRefund_Writeable as 
    SET BD_ToBeRefund = False,
        BD_Refunded = True,
        BD_RefundedRef = ?
    WHERE <primary key> IN (SELECT TOP (M_Refunded) <primary key>
                            FROM Q_HrsToBeRefund_Writeable
                            ORDER BY BD_Dt DESC
                           );

注意:

这假设您的表有一个主键。 注意? 的使用。这表明您应该为此值使用参数,而不是修改查询字符串。 我不确定是否可以将行数作为参数传入。

【讨论】:

我不确定是否可以将行数作为参数传入。 不能,但可以使用 VBA 轻松连接,如 M_BKID将不得不。

以上是关于语法错误 (操作符丢失) 在查询表达式的主要内容,如果未能解决你的问题,请参考以下文章

语法错误 (操作符丢失) 在查询表达式

ASP语法错误 (操作符丢失) 在查询表达式 'PaperId=' 中。

帮忙挑毛病 C# asp.net “语法错误 (操作符丢失) 在查询表达式''中”错误

MS Acess不支持多个left join(语法错误(操作符丢失)在查询表达式 xx中)

LEFT JOIN连接SQL语句在Access里面报语法错误(操作符丢失),哪位帮帮忙?

语法错误。在查询表达式中-Delphi