Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Buscar

Estas en el tema de Buscar en el foro de Visual Basic clásico en Foros del Web. Amigos, tengo progamando una opciòn de búsqueda según los datos de un combo mi base de datos está en Access, tengo una tabla que se ...
  #1 (permalink)  
Antiguo 23/02/2008, 10:37
Avatar de el_tigre  
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 3 meses
Puntos: 8
De acuerdo Buscar

Amigos, tengo progamando una opciòn de búsqueda según los datos de un combo

mi base de datos está en Access, tengo una tabla que se llama facturas y allí hay un campo que se llama "nro_factura" el campo es Autonumérico (ya lo probé con numérico y tampoco funciona), mi combo lo relleno en tiempo de diseño, tengo 3 opciones de búsqueda

nro_factura, cliente, obra (me funcionan perfectamente los dos últimos pero no logro dar con el problema del "nro_factura"

este es el error que da
Código:
Run-tima error'-2147217881 (80040e27)':

No se pudo realizar la búsqueda en la columna especificando o el operador de comparación no es válido
Este es mi código de búsqueda
Código:
Private Sub txtbusca_Change()
    If txtbusca <> "" Then
        RSfacturas.MoveFirst
        RSfacturas.Find cmb_buscar & " like '" & txtbusca & "*" & "'"
    End If
End Sub
  #2 (permalink)  
Antiguo 23/02/2008, 12:00
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: Buscar

Sustituye el comodín "*" por "%"

RSfacturas.Find cmb_buscar & " LIKE '" & txtbusca & "%'"
  #3 (permalink)  
Antiguo 23/02/2008, 12:17
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Re: Buscar

Cita:
If RSfacturas.RecordCount > 0 Then
RSfacturas.MoveFirst
RSfacturas.Find cmb_buscar & " like '" & txtbusca & "*" & "'"
end if
  #4 (permalink)  
Antiguo 23/02/2008, 13:52
Avatar de el_tigre  
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 3 meses
Puntos: 8
Re: Buscar

No me ha funcionado ninguno de los métodos ni fusionándolos, realmente no encuentro la falta.

  #5 (permalink)  
Antiguo 23/02/2008, 18:30
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Re: Buscar

Crea un nuevo proyecto y una nueva base de datos con la tabla y los campos que quieres buscar a lo mejor la falla esta en que has activado alguna propiedad sin darte cuenta si aun no funciona no se que pueda ser

saludos
  #6 (permalink)  
Antiguo 24/02/2008, 04:25
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: Buscar

El problema es que el operador 'LIKE' no admite búsquedas parciales cuando el campo a buscar es de tipo numérico. Para buscar (el número exacto) tienes que ponerlo así:

RSfacturas.Find cmb_buscar & " LIKE #" & txtbusca & "#"

que es lo mismo que con el operador igual (=)

RSfacturas.Find cmb_buscar & " = " & txtbusca

En tu código 'buscar' deberías poner una condición de este tipo

Código:
If cmb_buscar = "nro_factura" Then
... lo anterior
Else
... lo otro
End If
  #7 (permalink)  
Antiguo 25/02/2008, 09:06
Avatar de el_tigre  
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 3 meses
Puntos: 8
De acuerdo Re: Buscar

Excelente respuesta amigo, funcionó a la perfección

Muchas Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:47.