|
Postada em 17/05/2004 22:28 hs
Estou com um problema em uma busca feita em VB6 + Access.
Tenho uma tabela com uma lista de nomes em um DB Access. No programa em VB, quando o usuário tenta buscar por um nome com acento, por ex. "Lúcio", ele não encontra. Isso pq os nomes no DB estão todos sem acento.
Como resolver este problema?
Agradeço a ajuda.
|
|
|
|
|
Postada em 18/05/2004 07:59 hs
'Coloque esta Funcao num modulo ou numa classe Public Function TiraAcentos(ByVal sTexto As String) As String Dim sAcentos(2, 8) As String Dim sCaracter As String Dim bAcentos As Boolean Dim i As Integer, j As Integer sAcentos(1, 1) = "á" sAcentos(2, 1) = "a" sAcentos(1, 2) = "é" sAcentos(2, 2) = "e" sAcentos(1, 3) = "í" sAcentos(2, 3) = "i" sAcentos(1, 4) = "ó" sAcentos(2, 4) = "o" sAcentos(1, 5) = "ú" sAcentos(2, 5) = "u" sAcentos(1, 6) = "ê" sAcentos(2, 6) = "e" sAcentos(1, 7) = "ô" sAcentos(2, 7) = "o" sAcentos(1, 8) = "ã" sAcentos(2, 8) = "a" TiraAcentos = sTexto 'Coloca o texto original como retorno For i = 1 To Len(sTexto) sCaracter = Mid$(sTexto, i, 1) 'Testa cada caracter If Asc(sCaracter) >= 192 And Asc(sCaracter) <= 255 Then bAcentos = True 'Indica a presença de acentos Exit For End If Next If bAcentos = True Then 'Comparamos cada caracter com os elementos da matriz For i = 1 To Len(sTexto) For j = 1 To 8 sCaracter = Mid$(sTexto, i, 1) If Asc(sCaracter) >= 192 And Asc(sCaracter) <= 255 Then If sCaracter = sAcentos(1, j) Then Mid$(sTexto, i, 1) = sAcentos(2, j) TiraAcentos = sTexto End If End If Next Next End If End Function 'Chamar: Text1.Text = TiraAcentos(Text1.Text)
________________________ Té + Que NIMB role bons Dados! 
|
|
|
|
Postada em 18/05/2004 08:41 hs
|
|
|
|