【问题标题】:Filter SubForm based on multiple criteria根据多个条件过滤子表单
【发布时间】:2019-08-14 00:40:49
【问题描述】:

我有一个带有子表单的表单,我正在尝试根据两个日期和一个用户名的范围进行过滤(我从 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

问候

迭戈。

【问题讨论】:

  • 您是否尝试过像mm/dd/yyyy 这样的格式字符串而不是mm\/dd\/yyyy?此外,假设UsernameString - 包括这样的单引号:[User] = '" & Me.username_textbox.Value & "'" - 此外,使用像Date 这样的字段名称也是一个坏主意,因为它也是一个保留字。 (但它会工作)
  • 您好 braX,非常感谢您的回答,确实,单引号不见了,祝您有美好的一天!

标签: vba ms-access


【解决方案1】:

假设字段 [User] 是一个字符串 - 包括这样的单引号:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-16
    • 1970-01-01
    • 2021-12-04
    • 2018-08-24
    • 2020-08-29
    • 2021-03-05
    相关资源
    最近更新 更多