John Colby
jcolby at colbyconsulting.com
Wed Oct 22 09:18:45 CDT 2003
>Would you mind sharing the revised code, please? Function HammingDistance(BaseString As String, TestString As String) As Long On Error GoTo Err_HammingDistance Dim lngHamCount As Long Dim lngLen As Long Dim loopcount As Integer lngLen = Len(BaseString) If Len(TestString) <> lngLen Then HammingDistance = -1 Exit Function Else For loopcount = 1 To lngLen If Mid$(BaseString, loopcount, 1) <> Mid$(TestString, loopcount, 1) Then lngHamCount = lngHamCount + 1 End If Next End If HammingDistance = lngHamCount Exit_HammingDistance: Exit Function Err_HammingDistance: MsgBox err.Description, , "Error in Function basSoundex.HammingDistance" Resume Exit_HammingDistance Resume 0 '.FOR TROUBLESHOOTING End Function Function CheckSum(TestString) As Long On Error GoTo Err_CheckSum Dim lngCheck As Long Dim loopcount As Integer For loopcount = 1 To Len(TestString) lngCheck = lngCheck + Asc(Mid$(TestString, loopcount, 1)) Next Exit_CheckSum: Exit Function Err_CheckSum: MsgBox err.Description, , "Error in Function basSoundex.CheckSum" Resume Exit_CheckSum Resume 0 '.FOR TROUBLESHOOTING End Function Function PossibleMatch(BaseString As String, TestString As String) As Boolean On Error GoTo Err_PossibleMatch If BaseString = TestString Then PossibleMatch = True Else Select Case HammingDistance(BaseString, TestString) Case 1 ' Miskey? PossibleMatch = True Case 2 'Possible transposition? If CheckSum(BaseString) = CheckSum(TestString) Then PossibleMatch = True End If Case Else PossibleMatch = False End Select End If Exit_PossibleMatch: Exit Function Err_PossibleMatch: MsgBox err.Description, , "Error in Function basSoundex.PossibleMatch" Resume Exit_PossibleMatch Resume 0 '.FOR TROUBLESHOOTING End Function John W. Colby www.colbyconsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Gustav Brock Sent: Wednesday, October 22, 2003 9:54 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] "fuzzy logic" search Hi John, Stewart Would you mind sharing the revised code, please? /gustav > Stewart, > With the outlined changes, the code is working GREAT!!! .. _______________________________________________ AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com