2
我正在创建一个简单的POS系统,但我遇到了一个错误。在结帐窗体上,它显示发票标识,我在[购物车]表中的物品的子表单,结帐按钮和3个复选框:销售无税,销售税和内部使用。我想要的是,如果您选择cboxSoldNoTax并点击结帐,[Cart]中的所有项目都会更新为“已销售税”字段下的“是”。但问题是,当我点击结账按钮,我会收到此错误信息:更新记录,如果复选框被选中
运行时错误“3464”:条件表达式
数据类型不匹配。
下面是我的VBA代码:
Private Sub btnCheckout_Click()
txtInvoice.Value = DMax("InvoiceID", "Invoice")
If cboxSoldTax.Value = True Then
DoCmd.RunSQL "UPDATE [Cart] SET SoldTax = 'Yes' WHERE InvoiceID = '" & Me.txtInvoice & "'"
End If
If cboxInternal.Value = True Then
DoCmd.RunSQL "UPDATE [Cart] SET InternalUse = 'Yes' WHERE InvoiceID = '" & Me.txtInvoice & "'"
End If
If cboxSoldNoTax.Value = True Then
DoCmd.RunSQL "UPDATE [Cart] SET SoldNoTax = 'Yes' WHERE InvoiceID = '" & Me.txtInvoice & "'"
End If
End Sub
我还提供了一个链接到Access数据库。这里是使用数据库的说明:“开始”表单 - >主菜单 - >烧瓶 - >选择数量 - >添加到购物车 - >结帐按钮 - >选择3复选框 - >结帐按钮。
https://drive.google.com/file/d/0Bye-M8FI1tRUYm9QT3o5a0tyMkE/view?usp=sharing
任何帮助或建议将是巨大的。提前致谢!
如果InternalUse.InvoiceID'的'数据类型是数字,而不是文本,之前消除单引号'Me.txtInvoice':'“... WHERE InvoiceID =”&Me.txtInvoice' – HansUp
如果'SoldTax'为Yes/No字段类型,请将该值设置为True而不是'Yes':SET SETTaxTax = True ' – HansUp
谢谢! @HansUp解决了这个问题! –