Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 通过vba access中的主窗体日期范围条目筛选子窗体日期列_Sql_Vba_Ms Access_Date Range_Subform - Fatal编程技术网

Sql 通过vba access中的主窗体日期范围条目筛选子窗体日期列

Sql 通过vba access中的主窗体日期范围条目筛选子窗体日期列,sql,vba,ms-access,date-range,subform,Sql,Vba,Ms Access,Date Range,Subform,我有一个名为frmCCAuto的表单,其中包括我的日期范围,即开始日期和结束日期文本字段,并带有一个用于筛选日期的按钮。我有一个子表单“SubCAUTO Open”(我不知道为什么我的前辈决定使用带有“-”的子表单名称),其默认视图是数据表,其记录源是从tblPayments\u Auto表中提取的。因此,我必须根据主窗体中的日期范围过滤子窗体中显示的记录。换句话说,我希望在两个未绑定的文本框上进行操作,允许用户输入日期范围,并对子窗体进行筛选,以仅显示在主窗体框中输入的日期范围的记录。我一直在

我有一个名为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![要打开]。表单
可以吗