In my vb.net program I have a search that allows you to search one table. This table includes 2 different sets of contact information.

On my search I have these text boxes labled for the search.

ID
BusinessName
Status
First Name
Last Name
Phone
Address
City
State
Zip
Fax
Email

However my table has changed, and now these input boxes need to search 2 sets of contact information.

First Name - FirstName1 And FirstName2
Last Name - LastName1 And LastName2
Phone - Phone1 And Phone2
Address - Address1 And Address2
etc....

There is only 1 of: ID, Status, BusinessName.

There has always been 2 different phone numbers and before I was doing the search like:

((ID = 1) AND (Phone1 = 555-555-5555)) OR ((ID = 1) AND (Phone2 = 555-555-5555))

I was building my string setting parts of the string to variables if the textboxlength was > 0. So it looks like this:

Code:
                If Trim(Me.txtPhoneSearch.TextLength) > 0 Then
                    PartF = " AND Phone1 LIKE '" & Me.txtPhoneSearch.Text & "%' "
                    PartG = " AND Phone2 LIKE '" & Me.txtPhoneSearch.Text & "%'"
                Else
                    PartF = String.Empty
                    PartG = String.Empty
                End If


WHERE  PartA & PartF & PartB & PartJ & _
                     PartL & PartC & PartD & PartE & PartH & PartI & PartM  &       PartK & " OR " & _
                         " PartA & PartB & PartJ & _
                           PartL & PartC & PartG & PartD & PartE & _
                           PartH & PartI & PartM & PartK
Now I'm not sure how to do this because it would equal a huge string if I did it this way. I'm not too worried on length of the search, timewise, right now because there are very few records in our database.

If someone could help me out, giving me advice on how to build this string, or what the best practice is that would AWESOME. I've never had to build a search this big and it's worrying me a bit.

Thanks in advance!