성으로 검색 할 때 데이터베이스에서 "퍼지 일치"를 검색하려면 검색해야합니다. 다음과 같은 함수를 구현하여 아무런 문제가없는 SoundEx 함수를 활성화했습니다.MS Access 2003 SoundEx를 사용하여 양식에서 검색
비행 중에 SoundEx 함수를 호출하는 데이터베이스를 검색하기 위해 SQL을 작성할 때 문제가 발생합니다. VBA 함수는 SQL 문에서 호출 할 수 있지만 제대로 작동하지 않는 것 같습니다.
Private Sub cmdSearch_Click()
Dim LSQL As String
Dim LSearchString As String
If Len(txtSearchString) = 0 Or IsNull(txtSearchString) = True Then
MsgBox "You must enter a search string."
Else
LSearchString = txtSearchString
LSQL = "SELECT * FROM TVictim "
LSQL = LSQL & "WHERE Soundex([Victim Surname]) = " & Soundex(LSearchString) & ";"
frmVictim.Form.RecordSource = LSQL
lblTitle.Caption = "Matching Victim Details: Filtered by '" & LSearchString & "'"
txtSearchString = ""
MsgBox "Results have been filtered. All Victim Names containing " & LSearchString & "."
End If End Sub
나는 형태의 문자열을 입력하고 버튼을 클릭
, 내가 통해 밟은 및 시점에서의 SQL을 기반으로, 자사의 검색에있는 텍스트의 SOUNDEX 출력을 명령 창을 던졌습니다 상자 및 데이터 입력을위한 또 다른 상자가 있습니다.잠시 동안 만만찮은 시도가 있었고 도움이되는 예제를 찾을 수없는 것 같습니다.
성능 현명한, 그 다음 그들이 색인을 생성 할 수 있으며, 따라서 당신이 대폭를 사용하여 검색 속도 때문에, 데이터 테이블의 Soundex와 값을 저장하는 것이 좋습니다. 또한 정원 종류 Soundex()는 매우 모호하며 특정 언어의 이름에만 적용됩니다. Soundex2를 조사하고 싶을 수도 있습니다. 퍼지 (fuzzy) 일치가 필요한 대용량 데이터 테이블의 경우 이름과성에 대해 Soundex 및 Soundex2 필드가 있으며 매우 잘 작동합니다. –