1

所以我有一个查询,如下所示,它在一个参数上运行。

我想知道是否有办法使用 VBA 来设置查询参数。我目前有大约 40 个查询,除了产品 ID 之外都完全相同,因此我也有 40 个报告……如果我有一个查询,我仍然需要在 VBA 中写出 productid 的代码,但我可以使用一份报告而不是那么多。

只需一个查询和一份报告并让 VBA 设置参数,生活会轻松得多,因为用户不知道产品 ID

SELECT TblTotalSale.ProductID, TblProduct.Description, TblTotalSale.Size, TblTotalSale.SalePrice, TblTotalSale.Day
FROM TblProduct INNER JOIN TblTotalSale ON TblProduct.ProductID = TblTotalSale.ProductID
WHERE (((TblTotalSale.ProductID)=[]));

VBA

Private Sub IPA_Click()

DoCmd.OpenReport "RptProduct", acViewReport, , [TblTotalSale.ProductID="5"]

End Sub

我也尝试过 tblTotalSale.ProductID = "5" 我知道我正在使用 SQL,而我应该使用 VBA ......

谢谢

山姆

4

1 回答 1

6

不要为报表和表单的 sql 语句包含参数。使用 DoCmd 对象的 OpenForm 或 OpenReport 方法的 Where 参数。

DoCmd.OpenReport 方法

于 2012-04-09T16:08:36.533 回答