我有一個帶有dateFrom和dateTo值的表單。
點擊按鈕后,我想打開一個新的表單,其中包含兩個子表單。其中一個子表格顯示過濾的記錄。它顯示note_date在dateFrom和dateTo范圍內的記錄。
note_date是查詢中的一個列,它是過濾子表格中的記錄源
因此,不作業的是其中一個子表格的過濾器。
以下是我的代碼,我認為它應該是有效的
我有辦法做這樣的事情嗎?
因為我的代碼不作業,因為whereCondition在主表單上使用 uj5u.com熱心網友回復:
標籤:Overview and the United States of America
Overview_of_vacation_notes是包含兩個子表單的表單的名稱dtmFrom = Text56.Value '開始日期'結束日期。
Dim strCriteria As String
strCriteria = "[note_date] >= #" & Format(dtmFrom, "yyyy-mm-dd") & "# AND [note_date] <= #" & Format(dtmTo, "yyyy-mm-dd") & "#"
DoCmd.OpenForm "Overview_of_vacation_notes"/span>, whereCondition:=strCriteria
DoCmd.OpenForm "Overview_of_vacation_notes", subformName.whereCondition:=strCriteria strCriteria,而不是在子表單上DoCmd.OpenForm "Overview_of_vacation_notes"正在打開父表單。因此,你不能將where條件應用于子表單的這一行。你需要為子表單設定過濾條件,并過濾該子表單以顯示過濾后的資料。試試下面的代碼。dtmFrom = Text56.Value 'start date。
dtmTo = Text58.Value '結束日期。
Dim strCriteria As String
strCriteria = "[note_date] >= #" & Format(dtmFrom, "yyyy-mm-dd") & "# AND [note_date] <= #" & Format(dtmTo, "yyyy-mm-dd") & "#"
DoCmd.OpenForm "Overview_of_vacation_notes"
Form![Overview_of_vacation_notes]![YourSubform].Form.FilterOn = False '清除先前的過濾器。
Form![Overview_of_vacation_notes]![YourSubform].Form.Filter = strCriteria 'Set filter criteria
Forms![Overview_of_vacation_notes]![YourSubform].Form.FilterOn = True '應用過濾器。
