2016-12-29 43 views
0

我有一張表格可以幫助我篩選出我想要的報告記錄。該按鈕將打開「點擊報告」。從表格打開報告時出錯

Form

這是按鈕的代碼:

Private Sub Open_OEE_Click() 

DoCmd.OpenReport "OEE_Report", acViewReport, , , acWindowNormal 

End Sub 

我不斷收到錯誤:

RunTime Error 3071

我也已經把查詢我的報告下記錄來源爲:

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

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; 

我也建議創建此命名查詢和設置該報告的將源記錄到指定的查詢。然後,您可以單獨測試查詢,而無需運行報告(但要確保表單已打開並且相關控件已填充)。

相關問題