2017-04-12 4 views
1

frmCCAutoという名前のフォームがあります。これには日付範囲を含む日付範囲が含まれています。たとえば、日付をフィルタするボタンがあります。サブフォーム "subCCAuto- "(私の先輩が ' - 'でサブフォーム名を使用することにした理由は分かりません)、デフォルトのビューはDatasheetで、レコードソースはテーブルtblPayments_Autoから引き出されます。したがって、サブフォームに表示されるレコードを、メインフォームの日付範囲に従ってフィルタ処理する必要があります。言い換えれば、私が起こりたいことは、2つの非結合テキストボックス上にあり、ユーザーは日付範囲を入力し、メインフォームボックスに入力された日付範囲のレコードのみを表示するようにサブフォームをフィルタリングさせることができます。私が働いてきたコードは次のとおりです。私は私のコードをデバッグするときメインフォームを介してサブフォームの日付の列を入力します。vbaアクセスの日付範囲のエントリ

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.が助けてくださいと言ってエラーになります。 frmCCAutoサブフォーム制御の名前でなければなりません

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 

+0

Me![subCCAuto-Open] .Formはこの作業を行います –

答えて

0

は変更構文を使用してみてください。

関連する問題