【发布时间】:2020-07-13 21:34:29
【问题描述】:
大家好,我在此 vba 代码中需要帮助,以便我尝试创建 Microsoft 访问。我正在尝试使用 vba 从表中过滤数据,到目前为止我设置的方式是每当发生某个事件时,让用户在字段中输入一个值以过滤该数据列,例如“名字”或“姓氏”。我的问题是,每当我尝试过滤多个字段时,它都不会保存我过滤的前一个字段中的过滤数据。例如,如果我过滤了名字的数据 例如詹姆斯,我会得到一个包含所有名字为詹姆斯的人的表格,但之后当我在这种情况下过滤姓氏时,我使用贝尔它只寻找姓氏为贝尔的人,而不是寻找名字为贝尔的人“James Bell”,因为我已经指定了名字。
Private Sub txtFirstName_Click()
'adds and input box to prompt the user to input the field
first = InputBox("Input Last Name")
'uses the filter feature to pick data source you want to filter such as FirstName
Me.Filter = "FirstName = """ & first & """"
**If Me.Filter = "" Then
Me.Filter = "FirstName = """ & first & """"
Else
Me.Filter = Me.Filter & " AND FirstName = """ & first & """"
End If**
FilterOn = True
End Sub
Private Sub txtLastName_Click()
last = InputBox("Input Last Name")
Me.Filter = "LastName = """ & last & """"
**If Me.Filter = "" Then
Me.Filter = "LastName = """ & last & """"
Else
Me.Filter = Me.Filter & " AND LastName = """ & last & """"
End If**
FilterOn = True
End Sub
【问题讨论】:
-
我已经在上面添加了一个修改版本的代码,如果有人可以看看它会很棒。