No probs, try this in VB and see which one is correct.
Probaly no use at all.
Function soundex (ByVal c$) As String
'
' Converts the string C$ into a soundex value string
' Soundex consists of the first letter of the word followed by a number
' corresponding to the phonetic sound of the word.
'
' 'abcdefghijklmnopqrstuvwxyz
Const Soundexstr = "01230100022455012623010202"
Dim o%, cnt%, a$, i%
Dim s As String * 1, os As String * 1
If Trim(c$) = "" Then Soundex = "": Exit Function
a$ = ""
o% = 1
cnt% = 1
Do
i% = Asc(Mid$(UCase(c$), cnt%, 1))
If i% > 64 And i% < 91 Then
If a$ = "" Then
a$ = Chr(i%)
os$ = ""
Else
s$ = Mid$(Soundexstr, i% - 64, 1)
If s$ <> "0" And os$ <> s$ Then
o% = o% + 1
a$ = a$ + s$
os$ = s$
End If
End If
Else
o% = 5
End If
cnt% = cnt% + 1
Loop While o% < 5 And cnt% <= Len(c$)
Soundex = a$
End Function
Rich