2013-07-11 97 views
1

我對Access很新穎。我正在嘗試創建一個過濾器預報表單。在這種形式下,用戶將被要求開始和結束日期。他還會得到一個以不同的表格/表格發現的項目名稱列表,並且能夠檢查報告應該過濾哪些項目。如何爲Microsoft Access報表創建過濾器表單

我是否需要爲此使用子窗體?我嘗試了一個,但我不明白如何添加複選框,它似乎只是給我一個列表,我不能修改子窗體。

我真的覺得我需要做的是填充其他表中所有項目的複選框列表。我如何做到這一點(如果它真的是最好的解決方案)?

+0

爲什麼downvote? – user1015214

回答

2

您可以使用這種常規形式。你不需要將它綁定到一個表。只需在表單上放置2個文本框,並根據需要添加儘可能多的複選框。

該報告將基於查詢,而該查詢又將基於此表單。所有的字段將被帶入查詢並引用窗體上的控件。

例如,假設您在表單上有兩個文本框;一個叫txtStartDate,另一個叫txtEndDate。該表單將被稱爲frmReportFilter。在驅動報表的查詢中,拉入日期列並在Criteria中放入> = Forms!frmReportFilter!txtStartDate。這將拉入所有日期字段大於或等於「開始日期」文本框中的任何記錄。其餘部分將以相似的方式引用。

+1

這對開始和結束日期都很好。但對於複選框,我無法對它們進行硬編碼。該清單將根據不同的(庫存)表而有所不同。我怎樣才能列出這張表格上的所有項目,每個項目都有一個複選框? – user1015214

+0

有關複選框的列表,您可能需要在代碼中執行此操作。執行一個循環,檢查每個複選框的值,如果它是真的,那麼將該項目添加到列表中。最後,你會有一個字符串:「西紅柿,葡萄,蘋果」。然後,只需將該字符串傳遞給使用IN的SQL(即SELECT * FROM MyTable WHERE Item IN(「&MyItemList&」) –