[英]Access VBA SubForm Not Filtering Other Subform When Embbedded in Navigation Form
[英]ACCESS 2007 - Form / subform filtering between dates
在ACCESS 2007中,我有一個主窗體,其中包含兩個未綁定的組合框,分別名為cmbStavOd
和cmbStavK
,兩者的格式均設置為“短日期”。 我有一個名為frm_qryNaklady_subform
的子窗體,該子窗體基於一個查詢,該查詢的字段名為datNakladDatum
(文本框名稱datNakladDatum
),格式為短日期。 我想允許用戶輸入日期范圍,並將子表單過濾為僅顯示在主表單框中輸入的日期范圍的記錄。 我在AfterUpdate事件中使用VBA代碼,例如:
Dim datRokMesiacOd As Date
Dim datRokMesiacDo As Date
Dim strFilterNaklady As String
datRokMesiacOd = DateSerial(Year(cmbStavOd), Month(cmbStavOd), 1) 'begin Date
datRokMesiacDo = DateSerial(Year(cmbStavK), Month(cmbStavK) + 1, 1) - 1 'end Date
strFilterNaklady = "[datNakladDatum] Between #" & datRokMesiacOd & "# And #" & datRokMesiacDo & "#"
With Me.frm_qryNaklady_subform.Form
.Filter = strFilterNaklady
.FilterOn = True
End With
例如, strFilterNaklady
結果看起來像這樣: "[datNakladDatum] Between #1. 1. 2015# And #31. 12. 2015#"
。 通過調試代碼,我在語句中收到一條錯誤消息:
With Me.frm_qryNaklady_subform.Form
.Filter = strFilterNaklady
.FilterOn = True
End With
錯誤3709-在任何記錄中均未找到搜索關鍵字。
但是基礎查詢包含適合輸入日期范圍的大量記錄。
我整天都在使用日期過濾語法,但沒有成功。
你看到我要去哪里了嗎?
您需要正確的日期格式:
strFilterNaklady = "[datNakladDatum] Between #" & Format(datRokMesiacOd, "yyyy\/mm\/dd") & "# And #" & Format(datRokMesiacDo, "yyyy\/mm\/dd") & "#"
同樣,可以將其簡化為:
datRokMesiacDo = DateSerial(Year(cmbStavK), Month(cmbStavK) + 1, 0) 'end Date
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.