2017-02-04 7 views
0

このコードは私によって書かれたものではなく、もはや私たちと一緒ではなく、VBの知識が豊富な人が2000年に私のために書きました。顧客名、郵便番号、電話番号、携帯電話番号のいずれかを決定します。今では携帯電話番号の普及に伴い、2番目の携帯電話番号に2番目のフィールドを追加する必要があります。私は使用できるC_FAXという余分なフィールドを持っているので、モバイル番号がC_MOBILEとC_FAXで入力されたときに2回検索できるようにする必要があり、モバイルのDoCmdを複製して検索フィールドをC_FAXに変更しました仕事と私はC_FAXフィールドで携帯電話番号を見つけることができましたが、C_MOBILEフィールドでそれを見つけることができませんでした。どんな提案も感謝して受け取ります。多くのおかげでニールVBでテーブル内の2つのフィールドを検索する方法

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

このアクセスですか、もしそうなら、アクセスタグを使用してください。 –

+0

はい、Access内ではVisual Basicです。あなたは確かに正しい答えで私を指摘してくれてありがとうNeil –

答えて

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] like( '"&PhoneSearch& "*")または[C_FAX] like( '"&PhoneSearch&" *') " –

関連する問題