我在8年內沒有與Access合作過 - 我相信我已經忘記了比我所知道的更多。有人要求我修改報告,以便當前顯示所有圖紙的圖紙列表將列出特定客戶(或所有客戶)的圖紙。MS Access:如何過濾非報告字段的報告?
我找到了報告使用的嵌套查詢,並修改了內部查詢以接受參數(第一個錯誤?)。然後,我添加了一個新表單來顯示客戶名稱並檢索關聯的主鍵customerId。現在我需要將表單中的客戶ID填入報表。 DoCmd.OpenReport並添加一個whereCmd似乎不匹配where參數的條件。
所以,我刪除了查詢中的參數,並試圖指定條件。只有外部查詢不知道customerId是什麼。我是否需要在內部查詢中以及在外部查詢中公開這些內容,然後纔將它用於最終報告中,以便我可以在where子句中對其進行過濾?
他們有其他示例代碼在表單中使用VBA在啓動報表之前重新生成查詢(添加任何過濾條件)。當然,這不可能是推薦的做法,可以嗎?
*「...在啓動報告之前重新生成一個查詢(添加任何過濾條件)」*該查詢是否被用作報告的記錄源? – HansUp
報告的記錄來源是外部查詢,是的。但是它是由外部查詢調用的內部查詢,它能夠識別客戶。該信息不是內部結果中的字段,因此在外部不可用,因此我不認爲我可以對其進行過濾。 – knockNrod
從我讀到的,過濾器是首選的參數查詢。好吧,我添加了它,我會把它取出來。但是我無法讓過濾器工作,我相信這是因爲它不是報告記錄源中的字段。那麼,如果我將該字段添加到內部查詢和外部查詢的字段列表中,它是否必須在報告中使用?如果報告中沒有使用它,我是否仍然可以對其進行過濾? – knockNrod