Find numeric part of a text field

   I have the house numbers coming from the MSAccess text field.
  (The database can be oracle, anyway)
  In my vb6 code I have to assign the next house no.
  A sample may be
 I want to see the numeric part of each of these and find the highest and add 1
 The requirment is to find the next house number  to propose .(In this case it should be 201)
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

MattiConnect With a Mentor Commented:

This is a quick and simple function that I made for you.

Private Sub Command1_Click()
MsgBox finnumber("12 - A")
End Sub

Private Function finnumber(s As String) As String
Dim mychr As String * 1, myasc As Integer
For i = 1 To Len(s)
mychr = Mid$(s, i, 1)
myasc = Asc(mychr)
Select Case myasc
Case 48 To 57
finnumber = finnumber + mychr
Case Else
End Select
Next i
End Function

hI sqs1970
This link has a few options on how to locate the numbers only:
Using the above you should be able to convert the variables to an array of numbers and find the max.
Robberbaron (robr)Commented:
i'd make a few amendments....
1/to handle addresses like 24A 22nd Street          you only want the 24.
2/ return a number.  an int would be ok usually but there are a couple of 33000 numbers around.

Private Function AddressNumber(sAddress As String) As long
      Dim mychr As String * 1, sTemp as string, i as integer
      For i = 1 To Len((sAddress)
            mychr = Mid$(s, i, 1)
            Select Case Asc(mychr)
                  Case 48 To 57
                        sTemp = sTemp & mychr
                  Case Else
                        if sTemp <> "" then
                              'have already found the number
                              'so stop looking
                              Exit For
                        end if
            End Select
      Next i
      AddressNumber = val(sTemp)
End Function
All Courses

From novice to tech pro — start learning today.