Ahh hold on a sec.
The index must be dynamic, I didn't see that before.
The user input can be anything like this:
Whereinput = "Coldstreet" ' streetname
Or
Whereinput = "Coldstreet 123A" ' streetname and streetnumber
Or
Whereinput = "Coldstreet 123A 12345" ' streetname and streetnumber and zipcode
Or
Whereinput = "Coldstreet 12345" ' streetname and zipcode
Or
Whereinput = "12345 Freezytown" ' zipcode and city
Or
Whereinput = "12345" ' zipcode
Or
Whereinput = "Freezytown" ' city
I "just" have to decide which combinations that are not allowed like the ones below.
Non valid search strings:
Whereinput = "123A" ' streetnumber alone
Or
Whereinput = "123A 12345" ' streetnumber and zipcode
Or
Whereinput = "123A Freezytown" ' streetnumber and city
I'll throw up some more code later on for review...
My current code actually handle different combinations as I described, but Not as long there are any spaces in streetname and/or cityname like this.
Cold Street
or
Freezy Town
Where = "Coldstreet 123A 12345 Freezytown"
Words = Split(Where, " ")
For i = 0 to Ubound(Words)
If i = 0 AND i < UBound(Words) AND IsNumeric(Words(i)) = False Then
Response.Write i & " = Street: " & Words(i) & "<br>"
End If
If i = 1 AND i < UBound(Words) AND IsNumeric(Left(Words(i),1)) = True AND Len(Words(i)) < 5 Then
Response.Write i & " = Streetnumber: " & Words(i) & "<br>"
ElseIf i = UBound(Words) AND IsNumeric(Left(Words(i),1)) = True AND Len(Words(i)) < 5 Then
Response.Write i & " = Streetnumber: " & Words(i) & "<br>"
End If
If i > 0 AND i < UBound(Words) AND (IsNumeric(Words(i)) = True) AND Len(Words(i)) >= 5 Then
Response.Write i & " = Zipcode: " & Words(i) & "<br>"
ElseIf i = UBound(Words) AND (IsNumeric(Words(i)) = True) AND Len(Words(i)) >= 5 Then
Response.Write i & " = Zipcode: " & Words(i) & "<br>"
End If
If i > 0 AND i = UBound(Words) AND IsNumeric(Left(Words(i),1)) = False Then
Response.Write i & " = City: " & Words(i) & "<br>"
ElseIf i = 0 AND i = UBound(Words) AND IsNumeric(Left(Words(i),1)) = False Then
Response.Write i & " = City: " & Words(i) & "<br>"
End If
Next