2017-02-10 107 views
1

正确的语法,我努力让此行来运行:的MS Access VBA

DoCmd.RunSQL "UPDATE stock SET quantity = quantity-1 WHERE ISBN Number=" & Me.ISBN Number 

我加引号的条件时,你得到语法错误。表名称是库存,它与表格书籍,ISBN号码和数量有关系。需要发生的是,一旦这段代码触发,它将从库存表中的数量减去1,这两个表中的ISBN号码匹配。

编辑1:

我把它加入了ISBN的股票表并使用窗体上的同一个使用条形码扫描仪捕获数据的工作,这个问题却似乎是,如果ISBN号码在股票表中并不存在,因此它不会更新,所以我需要修改查询以首先检查ISBN是否已经被捕获,然后再进行更新,否则创建它。

回答

0

尝试增加"'"到参数

DoCmd.RunSQL "UPDATE stock SET quantity = quantity-1 WHERE ISBN Number=" &"'"& Me.ISBN Number&"'" 
+0

好,我得到了一个解决方案,代码工作正常,但它意味着1发出一本书时,降低股票的价值,因此,解决方案是另一种形式捕捉股票,当股票发行时减少股票,使用上面的语法修复。 –