'by Ed Turner Function sndx(WRD AS STRING) AS STRING ' PURPOSE : CONVERT WRD INTO ITS SOUNDEX VALUE VOWELS$ = "AEIOUHWY" CONSONANTS$ = "BCDFGJKLMNPQRSTVXZAEIOUHWY" CVALUE$ = "12312224551262312278877999" ZEROS$ = "0000" LASTLTR$ = "" SDX$ = "" WRD=Ucase(WRD) FOR I& = 1 TO LEN(WRD) LTR$ = Mid$(WRD,I,1) AVAL& = Ascii(LTR$) IF AVAL& > 64 AND AVAL& < 123 THEN IF LEN(SDX$) = 0 THEN SDX$=LTR LASTLTR$ = LTR$ Else IF LTR$ <> LASTLTR$ THEN LASTLTR$ = LTR$ A& = InStr(CONSONANTS$, LTR$) IF A& <> 0 THEN NVAL$ = Mid$(CVALUE$, A&, 1) IF Mid$(SDX$, LEN(SDX$), 1) <> NVAL$ THEN SDX$ = SDX$ & NVAL$ IF LEN(SDX$) = 4 THEN Exit For END END END End if End If NEXT I If Len(SDX$) < 4 Then SDX$ = SDX$ & Left$(ZEROS$, 4 - Len(SDX$)) Function = SDX$ End Function