ERRO EM BUSCA COM CURINGAS ANSI-92

USUARIO.EXCLUIDOS 01/04/2005 19:40:18
#76287
curingas ANSI-92

Alguem sabe me dizer se a opção Filter de um Objeto Recordset tem limitações de Curingas do tipo ANSI-92 nas expressoes SQL

Porque se eu abrir um recordset com a seguinte clasula Where
Campo like '%P_O%'
obs: - é um curinga q seleciona qualquer letra entre essas especificadas
essa sql funciona perfeitamente

mas eu eu abrir select * from tabela
e depois apenas dar um rs.filter = descricao LIKE '%p_o%'
ele nao me retorna registro nenhum

mais se eu tirar o Curinga _ e somente deixar o Curinga %
ele me retorna os dados

agora isso é um BUG do ADO ou uma LImitação ?

DANIELCPAETE 01/04/2005 23:21:45
#76302
ai clayton espero que te ajude este codigo

rs.Filter = Letras("á", "City")


'funcão é so mandar a letra e o campo do banco
Function Letras(Letra As String, Campo As String)

Dim Consulta As String
Dim acentos As String
Dim sacentos As String
Dim I As Integer
Dim X As Integer
Dim Var() As String

acentos = "áíóúéà¤à¯à¶à¼à«à à¬à²à¹à¨ãõà¢à®à'à»êç"
sacentos = "aioueaioueaioueaoaiouec"
Resultado = Letra

For I = 1 To Len(acentos)
Resultado = Replace(Resultado, Mid(acentos, I, 1), Mid(sacentos, I, 1))
Next

Letras = Replace(Resultado, "a", "a,á,à ,ã,à¢,à¤")
Letras = Replace(Letras, "e", "e,é,à¨,ê,à«")
Letras = Replace(Letras, "i", "i,í,à¬,à®,à¯")
Letras = Replace(Letras, "o", "o,ó,à²,õ,à',à¶")
Letras = Replace(Letras, "u", "u,ú,à¹,à»,à¼")
Letras = Replace(Letras, "c", "c,ç")

Var = Split(Letras, ",")

Consulta = ""

For X = 0 To UBound(Var)
Consulta = Consulta & Campo & " LIKE '%" & Var(X) & "%' OR "
Next

Consulta = Left(Consulta, Len(Consulta) - 3)

Letras = Consulta

End Function
USUARIO.EXCLUIDOS 02/04/2005 16:47:56
#76362
valeu

mas a funcao nao retorna um coisa mais exata
pois se eu procuro "pão de milho" ele me retorna muita coisa nada a haver

DESCRICAO LIKE '%pa%' OR DESCRICAO LIKE '%á%' OR DESCRICAO LIKE '%à %' OR DESCRICAO LIKE '%ã%' OR DESCRICAO LIKE '%à¢%' OR DESCRICAO LIKE '%à¤o%' OR DESCRICAO LIKE '%ó%' OR DESCRICAO LIKE '%à²%' OR DESCRICAO LIKE '%õ%' OR DESCRICAO LIKE '%à'%' OR DESCRICAO LIKE '%à¶ de%' OR DESCRICAO LIKE '%é%' OR DESCRICAO LIKE '%à¨%' OR DESCRICAO LIKE '%ê%' OR DESCRICAO LIKE '%à« mi%' OR DESCRICAO LIKE '%í%' OR DESCRICAO LIKE '%à¬%' OR DESCRICAO LIKE '%à®%' OR DESCRICAO LIKE '%à¯lho%' OR DESCRICAO LIKE '%ó%' OR DESCRICAO LIKE '%à²%' OR DESCRICAO LIKE '%õ%' OR DESCRICAO LIKE '%à'%' OR DESCRICAO LIKE '%à¶%'

ele ira pesquisa muita coisa q não era pra ser
DANIELCPAETE 02/04/2005 17:49:39
#76368
é que tinha pensado so em uma letra para uma ou mais palavras complica muito
Tópico encerrado , respostas não são mais permitidas