如何在组合框选择的值中添加通配符以扩大以多种形式返回的值

问题描述 投票:0回答:1

我有一个多项目表格,显示客户记录,例如名字和姓氏,出生日期,地址等。...可以以多种方式多次列出同一客户,并且其名称可能与其他客户相同或相似。 (因为错误的历史数据处理)。吉姆·史密斯(Jim Smith),詹姆斯·史密斯(James Smith)和小吉姆·史密斯(Jim Smith Jr.)可以是同一个人,也可以是三个以上的不同个人(具有出生日期和其他有助于解决此类问题的信息)。

我已经设置了两个组合框以按顺序过滤表单,但是我需要一些帮助以使它们能够按需运行。第一个组合通过简单的选择查询从基础表中提取不同姓氏的列表。选择名称后,第二个组合框将提供一组具有所选姓氏的独特名字。

是否可以在vba中使用所选的姓氏和通配符,以便选择“ Smith”也将返回“ Smith Jr。”,“ Smith-Jones”和“ Smithers”?现在,我有以下代码可以重新查询第二个组合框并在表单上设置初始过滤器,在我的示例中,此刻仅设置为“ Smith”:

Private Sub cboFindLast_AfterUpdate()
    Me.cboFindFirst.Requery
    Me.cboFindFirst = Null
    Me.Filter = "LName = '" & Me.cboFindLast & "'"
    Me.FilterOn = True
End Sub    

除了不返​​回“ Smith +”条目外,此操作均按要求进行。此时,用户可以从cboFindFirst中选择以进一步减少列表。同样,如果选择“ Ann”将返回Ann,Anna,Annie,甚至Ruth-Ann(如果其中任何一个出现),那将是很好的。当前在第二个框中的代码是:

Private Sub cboFindFirst_AfterUpdate()
    Me.Filter = "FName = '" & Me.cboFindFirst & "' And LName = '" & Me.cboFindLast & "'"
    Me.FilterOn = True
End Sub

同样,这种方法效果很好,并且可以将列表减少到所有“ Ann Smith”唱片,但也许她结婚后还有最近的“ Annie Smith-Jones”唱片,我也希望该唱片也能显示。

forms ms-access access-vba
1个回答
1
投票

当然,请对通配符使用LIKE:

© www.soinside.com 2019 - 2024. All rights reserved.