组合框引用 access 2010 查询

Posted

技术标签:

【中文标题】组合框引用 access 2010 查询【英文标题】:Combobox referencing access 2010 query 【发布时间】:2012-02-29 20:14:51 【问题描述】:

我有一个带有组合框的表单,该组合框链接到一个表 (TblProduct),该表显示产品描述并按产品 ID 排序

我还有一个名为 txtStockValue 的文本框。

我希望用户从组合框中选择产品,进行库存计数并在 txtStockValue 框中输入库存值。

然后有一个确认更新的按钮。

我有下面的按钮编码,但我把问题放在论坛的这个部分,因为我认为我的问题出在查询中......我之前从未使用过组合框

编码如下

Private Sub StockOK_Click()
Dim SQLDelete1 As String
Dim SQLDelete2 As String
Dim SQLUpdate As String

SQLDelete1 = "DELETE * FROM TblStock WHERE TblStock.ProductID = CboStockItem.ProductID"
SQLDelete2 = "DELETE * FROM TblTotalSales WHERE TblTotalSales.ProductID = CboStockItem.ProductID"
SQLUpdate = "INSERT INTO TblStock (ProductID, StockLevel) SELECT ProductID FROM CboStockItem.ProductID AND SELECT StockLevel FROM TxtStockValue"

If IsNull(Me.TxtStockValue) Then MsgBox "Please Select An Item To Update Stock And Ensure A Value Has Been Entered" Else:
DoCmd.RunSQL SQLDelete1
DoCmd.RunSQL SQLDelete2
DoCmd.RunSQL SQLUpdate

End Sub

我尝试将组合框引用为 CboStockItem(组合框的名称),但我认为我没有正确执行此操作。

代码基本上应该删除2个表中的所有项目,其中项目ID与从组合框中选择的产品相同,然后将新的库存值插入库存表。

第二点是,在删除数据之前,应将其更新为两个 Excel 文件进行存储(一个名为 Stock 的股票 Excel 文件和一个名为 sales 的销售 Excel 文件)。这个我想我可以做到,但我想把它包括在内。

【问题讨论】:

如果你发现乔伊解决了这个问题,你应该接受这个答案。这对 Joey、SO 和你都有好处 :) 这是我项目的最后一部分。我有两张表,一张称为库存,一张称为总销售额。我正在尝试将其用作库存更新,以便将以前的销售和库存作为商店导出到 excel,并从数据库中删除。这适用于酒吧的 Epos 系统,因此盘点将每月进行一次 - 每季度一次。 【参考方案1】:

你设置 SQL 的字符串应该是这样的:

SQLDelete1 = "DELETE * FROM TblStock WHERE TblStock.ProductID = " & cboStockItem.value

【讨论】:

引用表格更安全,我在这种情况下很好,所以& Me.cboStockItem 谢谢,但是在更新查询中我该如何措辞呢? SQLUpdate = "INSERT INTO TblStock (ProductID, StockLevel) 从 CboStockItem.ProductID 中选择 ProductID 并从 TxtStockValue 中选择 StockLevel" 会是 SQLUpdate = "INSERT INTO TblStock (ProductID, StockLevel) 从 TxtStockValue 中选择 StockLevel 并从 " & Me.cboStockItem 中选择 ProductID .value SQLUpdate = "INSERT INTO TblStock (ProductID, StockLevel) VALUES ( " & Me.CboStockItem & "," & Me.StockLevel & " )" ... 并在构建该字符串后包含Debug.Print SQLUpdate,以便在出现问题时,您可以在“立即”窗口中查看您要求数据库引擎执行的确切语句. 感谢 Remou 和 HansUp 的澄清!

以上是关于组合框引用 access 2010 查询的主要内容,如果未能解决你的问题,请参考以下文章

添加到基于表/查询的 Access 组合框

如何在 MS Access 2010 中使用 VBA 选择多值组合框的值?

获取查询的结果 c# - Access 2010

Access 2010 组合框事件根本不会触发

Access 2010 中的组合框重复选项

MS Access 2010 多列组合框自动完成