根据多个条件过滤子表单

时间:2019-08-14 00:40:49

标签: vba ms-access

我有一个带有SubForm的表单,我试图基于两个日期和一个用户名的范围进行过滤(我从3个文本框中选取标准),部分日期工作正常,但是当我按按钮时要启动过滤器,将显示一个弹出窗口,显示“输入参数值”(即使我在文本框中输入用户名),我也会输入用户名并正确过滤,但是保留了该参数,过滤器将不再起作用,直到我关闭表格并再次打开,有什么想法吗?

如果我已经在文本框中输入了用户名,我不知道为什么要问我输入参数。

这是我的代码:

Private Sub Filter_Click()

    Dim QIL As Form
    Set QIL = Forms("QIL")

If IsNull(Me.username_textbox) Or IsNull(Me.date_from_textbox) Or IsNull(Me.date_to_textbox) Then
    MsgBox "Insert date or username"
Else
    With Me.Superlinks_subform.Form
        .Filter = "[Date] = #" & Format(Me.date_from_textbox, "mm\/dd\/yyyy") & _
     "# AND #" & Format(Me.date_to_textbox, "mm\/dd\/yyyy") & "# AND [User] = " & Me.username_textbox.Value & ""
        .FilterOn = True
    End With
  End If

End Sub

致谢

迭戈。

1 个答案:

答案 0 :(得分:1)

假设[User]字段是一个字符串-包含单引号,如下所示:

[User] = '" & Me.username_textbox.Value & "'"