从表单打开报告时出错

Error in Opening Report from Form

我有一个表格可以帮助我筛选出我想要用于报告的记录。该按钮将打开 Report On Click。

这是按钮中的代码:

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));

我想根据一个条件(文本框或组合框)进行搜索,而不是同时搜索所有四个条件。

我是不是漏掉了什么?

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;

我还建议为此创建一个命名查询,并将报表的记录源设置为该命名查询。然后,您可以单独测试查询,而不必 运行 报告(但请确保表单已打开并且相关控件已填充)。

我从其他来源寻求帮助。 Answer to Question