sql - 查询表达式中的语法错误(缺少运算符) - VBA
问题描述
这是我的代码:
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 中的语法错误(缺少运算符)
谁能帮我解决这个问题?
解决方案
MS Access 绝对不支持LIMIT
. UPDATE
我认为它也不支持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
);
笔记:
- 这假设您的表有一个主键。
- 注意使用
?
. 这表明您应该为此值使用参数,而不是修改查询字符串。 - 我不确定是否可以将行数作为参数传入。
推荐阅读
- javascript - 如何使用 change.type ==" added' 从 Firebase Firestore 获取实时文档更新
- java - Setting Timeout in URL Connection - Force Server to Finish Reading Data with Method Similar to HttpURLConnection.setReadTimeout()
- regex - How can I check regex for three patterns in one
- swift - 排列 - DFS 和回溯 - 需要帮助理解展开和回溯
- amazon-web-services - S3 通知在其他区域调用 sqs 主题
- python - Python help to update Postgres column
- demandware - Commerce Cloud - 如何覆盖“应用”按钮的代码?
- haskell - How to convert Maybe a to a or -1 (for nothing)?
- php - 在 Opencart 3.0.2.0 admin 中导出销售报告的 xls 或 cvs 详细信息
- laravel - How to insert data via seeding Laravel 5.7 into two relation tables?