2017-02-04 41 views
0

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

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 
+0

这是Access吗?如果是的话请使用Access标签。 –

+0

是的,它是Access内的Visual Basic。好吧,我会感谢尼尔 –

回答

0

你需要一个OR statement添加到代码读取新的第二场额外的手机。例如,可以将此字段称为SearchText2和您的可变PhoneSearch2:

PhoneSearch2 = PhoneFix(Me!SearchText2) 

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

' do your thing 
+0

谢谢你肯定指出我在正确的答案,这是它实际上看起来像DoCmd.OpenForm“custom1”,,“[C_MOBILE]像('”&PhoneSearch&“*')或[C_FAX] like(''&PhoneSearch&“*')” –