Título: DAO y SQL Publicado por: mdg en 4 Febrero 2009, 05:28 am Buenas amigos espero puedan ayudarme.
Resulta que tengo un formulario con el cual intento filtrar ciertos registros, el asunto es que al intentar utilizar el LIKE con el comodin % para que a medida que escribo el criterio valla filtrando las conincidencias no me funciona y con ADO si funcion, tengo entendido que con dao es otro caracter de comodin o que se utiliza de otra forma. aqui les dejo lo que tengo. gracias por todo. PD: lo que pretendo es que al buscar apellido GONZALES al escribir G o GO o GON etc, me vaya filtrando los registros que coincidan con lo que voy escribiendo. Public Sub Filtrar() On Error GoTo Hay_err_err Dim Item As ListItem Dim Campo, OrderByCampo, Orden As String Form2.ListView1.ListItems.Clear If Combo1.ListIndex = -1 Then Combo1.ListIndex = 0 End If If Combo2.ListIndex = -1 Then Combo2.ListIndex = 0 End If If Combo1.ListIndex = 0 Then Campo = "afiliado" ElseIf Combo1.ListIndex = 1 Then Campo = "Nombres" ElseIf Combo1.ListIndex = 2 Then Campo = "Apellidos" End If Select Case Combo2.ListIndex Case 0: OrderByCampo = "afiliado" Case 1: OrderByCampo = "Nombres" Case 2: OrderByCampo = "Apellidos" Case 3: OrderByCampo = "Fecha_afiliacion" End Select 'If CmdOrdenar(0).Value Then Orden = "asc" 'If CmdOrdenar(1).Value Then Orden = "desc" Dbpath = App.Path & "\" & DirectorioBase & "\" & Db_A_Name strSQL = "SELECT * FROM tbl_afiliados Where " & _ Campo & " like '" & txtSearch & "'% order by " & OrderByCampo & " " & Orden Set Db = DBEngine.OpenDatabase(Dbpath, False, False, ";pwd=" & StrPass) Set Rst = Db.OpenRecordset(strSQL) 'Recorre todos los registro para añadirlos al ListView While Not Rst.EOF Set Item = Form2.ListView1.ListItems.Add(, , Rst!afiliado) Item.SubItems(1) = Rst!apellidos Item.SubItems(2) = Rst!nombres Item.SubItems(3) = Rst!empresa Item.SubItems(4) = Rst!linea Rst.MoveNext Wend Hay_err_exit: Rst.Close Db.Close Set Rst = Nothing Set Db = Nothing Hay_err_err: Select Case Err.Number Case 3024 MsgBox "Es imposible encontrar la base de datos. " & vbCrLf & vbCrLf & "Verifique que exista o que se encuentre en la ruta:" & App.Path & "\bases" & " e intente nuevamente", vbInformation + vbOKOnly, "Aviso!" Resume Hay_err_exit: Case 3078 MsgBox "Es imposible encontrar la tabla: " & vbCrLf & vbCrLf & "Verifique que exista o que se encuentre en la base de datos" & "Base_Actual.mdb" & "e intente nuevamente", vbInformation + vbOKOnly, "Aviso!" Resume Hay_err_exit: End Select End Sub Título: Re: DAO y SQL Publicado por: Angeldj27 en 4 Febrero 2009, 14:12 pm Creo que te falta un comodin despues de like
Código: Campo like '%GON%' order by Campo Haci es que debe quedar creo ese es el recordsorce que visualice de un ado pero en esencia es lo mismo osea Código: SQL = "%" & Trim(txtSearch.Text) & "%" Chekate hay si funciona no tengo vb en esta pc pero creo que debe funcionar asi talves te sirva de algo Saludos... Título: Re: DAO y SQL Publicado por: ssccaann43 © en 4 Febrero 2009, 14:46 pm Código
Esa es la instrucción SQL correcta. Luego de hacerlo, pues limpias todos los registro del listview y lo cargas nuevamente pasandole esa instrucción, q por cierto lo debes colocar en el objeto txtSearch en el evento Change De esa manera funcionará. Saludos Título: Re: DAO y SQL Publicado por: Angeldj27 en 4 Febrero 2009, 17:10 pm Citar Esa es la instrucción SQL correcta. claro que el comdin de adelante se puede omitir pero yo siempre lo pongo o lo utilizo pork me abia dado ciertos errores en diversos momentos cuando lo omitia anteriormente y por eso me he acostumbrado a utilizarlos. Saludos... Título: Re: DAO y SQL Publicado por: mdg en 4 Febrero 2009, 18:42 pm Hola de nuevo, gracias por las respuestas pero no ha resultado, todas las sugerencias que me dieron funcionan en ADO pero no con DAO, lamentablemente tengo mi codigo adaptado a esta forma de trabajo y se me hace muy dificil cambiarlo. probe lo seiguiente:
strSQL = "SELECT * FROM tbl_afiliados Where " & _ Campo & " like '" & txtSearch & "'% order by " & OrderByCampo & " " & Orden Pero sigue sin funcionar, yo no recuerdo bien pero estoy seguro de que se utilizaba de otra manera o sin comillas o no recuerdo la combinacion pero era distinto con DAO, gracias y espero mas sugerencaias. Título: Re: DAO y SQL Publicado por: Angeldj27 en 4 Febrero 2009, 21:05 pm Bueno creo k tu problema es esta parte parece que no chekaste los code que te hemos dejado pero bueno...
Código
este deberia ser haci Código
Antes de la comilla simple va el comodin no despues y en todo caso la instruccion sql debe funcionarte sea ado o dao o como kieras usarla.. Saludos... |