簡體   English   中英

誰能在這里發現SQL問題? 嘗試更新ms-access中的字段

[英]Can anyone spot the SQL issue here? Trying to update fields in ms-access

Dim sqlUpdate As String

sqlUpdate = "UPDATE [Stock Conversion] SET [Stock Conversion].Status = 'PRINTED' " & _
"WHERE ((([Stock Conversion].Status) = 'NEW'));"

' Turn off warning
DoCmd.SetWarnings False

'Run SQL
DoCmd.RunSQL (sqlUpdate)

'Turn on warning
DoCmd.SetWarnings True

基本上沒有錯誤消息,這根本沒有任何反應嗎?

有人可以幫忙嗎?

將此語句粘貼到新的Access查詢的SQL視圖中並對其進行測試。

UPDATE [Stock Conversion]
SET Status = 'PRINTED'
WHERE Status = 'NEW';

如果它不起作用,則希望該錯誤消息可以幫助您理解原因,從而可以對其進行修復。

如果它可以正常工作,請使用DAO.Database對象的.Execute方法從VBA執行相同的語句。 由於您不會使用DoCmd.RunSQL ,因此沒有動力關閉SetWarnings 這一點很重要,因為在關閉SetWarnings時會SetWarnings信息。

Dim db As DAO.Database
Dim sqlUpdate As String

sqlUpdate = "UPDATE [Stock Conversion]" & vbCrLf & _
    "SET Status = 'PRINTED'" & vbCrLf & _
    "WHERE Status = 'NEW';"
Debug.Print sqlUpdate
DoCmd.SetWarnings True ' in case it had been left off somehow '
Set db = CurrentDb
db.Execute sqlUpdate, dbFailOnError
Set db = Nothing

一些幫助:

  • setwhere刪除[Stock Conversion]
  • 刪除哪里的不必要的括號
  • 刪除分號
  • 再檢查一遍。
  • 如果不起作用,請刪除where並再次嘗試檢查您的was子句是否存在問題
  • 將SQL跟蹤添加到數據庫以查看查詢是否確實在提交
  • 在此處粘貼完整的SQL語句,以便我們提供更多幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM