使用VBA设置查询的参数

Sam*_*ler 1 sql ms-access vba

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

我想知道是否有办法使用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)=[]));
Run Code Online (Sandbox Code Playgroud)

VBA

Private Sub IPA_Click()

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

End Sub
Run Code Online (Sandbox Code Playgroud)

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

谢谢

山姆

Fio*_*ala 6

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

DoCmd.OpenReport方法

  • 用引号`"TblTotalSale.ProductID = 5"`或用于文本,`"AText ='ABC'"` (2认同)