如何使用VB搜索表中的两个字段

时间:2017-02-04 15:01:17

标签: vba ms-access

这段代码不是由我写的,一位不再和我们在一起的朋友,对VB有更好的了解,早在2000年就为我写了这篇代码。需要输入并决定是否是客户名称,邮政编码,电话号码或手机号码。现在随着手机号码的激增,我需要为第二个手机号码添加第二个字段。我有一个名为C_FAX的备用字段,我可以使用,所以我需要能够在输入手机号码C_MOBILE和C_FAX时搜索两次,我只是复制了移动的DoCmd并将搜索字段更改为C_FAX工作,我能够在C_FAX字段中找到一个手机号码,但没有在C_MOBILE字段中找到它。任何建议都会感激不尽。非常感谢尼尔

Private Sub SearchText_AfterUpdate()
PhoneSearch = PhoneFix(Me!SearchText)
If Me![SearchText] Like "*[A-Z]#*" Then
' postcode
DoCmd.OpenForm "custom1", , , "[C_POSTCODE] like('" & Me![SearchText] & "*')"

ElseIf InStr(PhoneSearch, "07") = 1 Then
'mobile
DoCmd.OpenForm "custom1", , , "[C_MOBILE] like('" & PhoneSearch & "*')"

ElseIf InStr(PhoneSearch, "0") = 1 Then
'phone
DoCmd.OpenForm "custom1", , , "[C_PHONE] like('" & PhoneSearch & "*')"

ElseIf Me![SearchText] Like "2*" Then
' cust_code
DoCmd.OpenForm "custom1", , , "[CUST_CODE] like('" & Me![SearchText] & "*')"

ElseIf Not IsNull(Me![SearchText]) Then
'name
DoCmd.OpenForm "custom1", , , "[C_NAME] like('*" & Me![SearchText] & "*')"

End If

Forms!entry!Comment = " "
Me.Requery
Refresh
End Sub

1 个答案:

答案 0 :(得分:0)

您需要在代码中添加OR statement,以便为其他手机读取新的第二个字段。例如,我们可以调用此字段SearchText2和您的变量PhoneSearch2:

PhoneSearch2 = PhoneFix(Me!SearchText2)

ElseIf InStr(PhoneSearch, "07") = 1 Or InStr(PhoneSearch2, "07") = 1 Then 

' do your thing