我有一个表单可以帮助我过滤掉我想要的报告记录。该按钮将打开报告点击。
这是按钮中的代码:
Private Sub Open_OEE_Click()
DoCmd.OpenReport "OEE_Report", acViewReport, , , acWindowNormal
End Sub
我一直收到错误:
我也将查询放在记录来源下的报告中:
SELECT * FROM 3_OEE WHERE ((([3_OEE].RecordID)=Forms![3_OEE_Report]!cboRecordID) And (([3_OEE].Date_Recorded)=DateValue(Forms![3_OEE_Report]!Date_Recorded)) And (([3_OEE].MC_No)=Forms![3_OEE_Report]!cboMCNo) And (([3_OEE].Product)=Forms![3_OEE_Report]!cboProduct));
我想根据一个标准(文本框或组合框)进行搜索,而不是一次全部搜索。
我错过了什么吗?
答案 0 :(得分:0)
MS-Access确实倾向于使用方括号。通过修剪不必要的内容,使报告的记录源更容易阅读。您还需要以正确的格式获取日期标准 - Access始终在SQL查询中使用美国格式,并且需要在日期周围标记#
:
SELECT * FROM 3_OEE
WHERE [3_OEE].RecordID = Forms![3_OEE_Report]!cboRecordID
And [3_OEE].Date_Recorded = Format(Forms![3_OEE_Report]!Date_Recorded, "\#mm/dd/yyyy\#")
And [3_OEE].MC_No = Forms![3_OEE_Report]!cboMCNo
And [3_OEE].Product = Forms![3_OEE_Report]!cboProduct;
我还建议为此创建一个命名查询,并将报告的记录源设置为命名查询。然后,您可以在不必运行报表的情况下单独测试查询(但请确保表单已打开并且已填充相关控件)。
答案 1 :(得分:0)
我向其他消息来源寻求帮助。 Answer to Question