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
:
Me![subCCAuto-Open] .Formはこの作業を行います –