2017-04-12 75 views
1

我有一個名爲frmCCAuto形式,其中包括我的日期範圍,即開始日期和結束日期文本字段的一個按鈕來過濾date.I有一個子窗體「subCCAuto公開「(我不知道爲什麼我的老年人決定使用' - '的子表名),默認視圖是數據表,其記錄源是從表tblPayments_Auto中提取的。所以,我必須根據主窗體中的日期範圍篩選子窗體中顯示的記錄。換句話說,我想要發生的是在兩個未綁定的文本框中允許用戶輸入日期範圍,並將子表單過濾爲僅顯示在主窗體框中輸入的日期範圍的記錄。代碼我一直在努力爲:篩選子窗體日期列

Private Sub Form_Open(Cancel As Integer) 
    Dim db As Database 
    Set db = CodeDb 

    db.Execute "DELETE * FROM tblPayments_Auto;" 
    DoCmd.SetWarnings False 
    DoCmd.OpenQuery "qryPayments_AddAuto" (store procedure: sp_qryPayments_AddAuto) 
    DoCmd.SetWarnings True 

    Me.subOpen.Requery 
    ProcessBtn.Enabled = False 
End Sub 

Private Sub Filter_Click() 
    With Forms!frmCCAuto![subCCAuto-Open].Form 
     .Filter = "[InvoiceDate] BETWEEN #" & Me.StartDate & "# AND #" & Me.EndDate & "#" 
     .FilterOn = True 
    End With 
End Sub 

當我調試我的代碼,它給了我一個錯誤說Microsoft Access can't find the field subCCAuto-Open referred to in your expression.請幫助。

+0

'我![subCCAuto-Open] .Form'這樣做的工作 –

回答

0

嘗試與修改後的語法:

Private Sub Filter_Click() 
    With Forms!frmCCAuto.Form![subCCAuto-Open] 
     .Filter = "[InvoiceDate] BETWEEN #" & Format(Me!StartDate.Value, "yyyy\/mm\/dd") & "# AND #" & Format(Me!EndDate.Value, "yyyy\/mm\/dd") & "#" 
     .FilterOn = True 
    End With 
End Sub 

其中frmCCAuto必須是子窗體控制的名稱。