我是MS Access和SQL的新手。现在我正在尝试在Ms Access中为我们公司创建库存数据库。我尝试从接收表单中提取数据以更新库存余额。但是当我执行SQL update
语句时,我遇到了语法错误消息。这对我来说很奇怪,因为我使用了在其他表中成功运行的相同语句。唯一的区别是我以前的成功更新通过直接文本替换工作,我的错误发生更新工作在一个数字对象。
请帮我查一下我的错误。
这是我的代码:
Private Sub Command96_Click()
CurrentDb.Execute "UPDATE tbl_Current_Stock" & _
"SET Stock_Level= Stock_Level + " & Me!txtOrderQty & "" & _
"Where tbl_Current_Stock.Raw_Material= " & Me!cboPurchase.Column(1) & ""
End Sub
谢谢!
答案 0 :(得分:3)
您需要在SET
和Where
之前添加空格。否则,您的命令将类似于UPDATE tbl_Current_stockSET Stock_Level= Stock_Level + 3Where....
。
Private Sub Command96_Click()
CurrentDb.Execute "UPDATE tbl_Current_Stock" & " " & _
"SET Stock_Level= Stock_Level + " & Me!txtOrderQty & " " & _
"Where tbl_Current_Stock.Raw_Material= " & Me!cboPurchase.Column(1) & ""
End Sub
如果它不是数字,您可能还需要将Raw_Material
列包装在引号中。
答案 1 :(得分:2)
正确检查你的句子。没有技术错误。您的查询中缺少一些空间。
在" SET"之前添加空格。和"其中"词语的
CurrentDb.Execute "UPDATE tbl_Current_Stock" & _
" SET Stock_Level= Stock_Level + " & Me!txtOrderQty & "" & _
" Where tbl_Current_Stock.Raw_Material= " & Me!cboPurchase.Column(1) & ""
答案 2 :(得分:1)
朋友,请按照一些提示正确生成您的更新:
更新 tableTestSET nome ='我的名字'WHERE有效IS NOT NULL (错误)
UPDATE tableTest SET name = 'My Name' WHERE active IS NOT NULL
UPDATE tableTest SET name = My Name WHERE active IS NOT NULL (错误)
UPDATE tableTest SET name = 'My Name' WHERE active IS NOT NULL
我希望它有所帮助...
祝你好运!