所以我有一个查询,如下所示,它运行在一个参数上.
我想知道是否有办法使用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 ...
谢谢
山姆
我有一大段代码,除非出现用户错误,否则一切正常.用户必须在其中放入值的文本框,然后单击按钮以更新表.
如果用户将该框留空并单击该按钮,则弹出一个msg框,要求他们填写一个值,如果该框包含一个值,则运行一系列命令和SQL.
不幸的是,当盒子留空时,会弹出msg框,但无论如何命令和SQL都会运行.
我想我可能只是遗漏了一些非常明显的东西,但我无法理解它.这是导致我出现问题的代码块...
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.SetWarnings False
DoCmd.RunSQL SQLStory
DoCmd.RunSQL SQLDelete2
DoCmd.RunSQL SQLUpdate
DoCmd.SetWarnings True
Run Code Online (Sandbox Code Playgroud)
txtStockValue是txt框,不能为空.其他似乎没有按我想要的方式工作.
谢谢
山姆