Sql 通过vba access中的主窗体日期范围条目筛选子窗体日期列
我有一个名为frmCCAuto的表单,其中包括我的日期范围,即开始日期和结束日期文本字段,并带有一个用于筛选日期的按钮。我有一个子表单“SubCAUTO Open”(我不知道为什么我的前辈决定使用带有“-”的子表单名称),其默认视图是数据表,其记录源是从tblPayments\u Auto表中提取的。因此,我必须根据主窗体中的日期范围过滤子窗体中显示的记录。换句话说,我希望在两个未绑定的文本框上进行操作,允许用户输入日期范围,并对子窗体进行筛选,以仅显示在主窗体框中输入的日期范围的记录。我一直在研究的代码是:Sql 通过vba access中的主窗体日期范围条目筛选子窗体日期列,sql,vba,ms-access,date-range,subform,Sql,Vba,Ms Access,Date Range,Subform,我有一个名为frmCCAuto的表单,其中包括我的日期范围,即开始日期和结束日期文本字段,并带有一个用于筛选日期的按钮。我有一个子表单“SubCAUTO Open”(我不知道为什么我的前辈决定使用带有“-”的子表单名称),其默认视图是数据表,其记录源是从tblPayments\u 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找不到表达式中引用的要打开的字段。请提供帮助。尝试修改语法:
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
必须是子窗体控件的名称。尝试修改语法:
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
必须是子窗体控件的名称。Me![Subcauto Open]。表单
可以执行此操作Me![要打开]。表单
可以吗