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