Campo de búsqueda y filtrado en access desde formulario a subformulario

Tengo un campo de busqueda en un formulario que al ingresar la cédula de una reserva me muestra y filtra la misma en un subformulario. El campo tiene el siguiente código:

Private Sub txtBusqueda_BeforeUpdate(Cancel As Integer)
Dim vCed As Long
Dim miFiltro As String
vCed = Nz(Me.txtBusqueda.Value, -1)
If vCed = -1 Then Exit Sub

miFiltro = "[Nombre] = " & vCed
Me.[subFormReservas].Form.Filter = miFiltro
Me.[subFormReservas].Form.FilterOn = True
End Sub

Todo funciona muy bien si la búsqueda que realizo es numérica pero yo necesito que sea de tipo texto ya que quiero buscar por nombre y no por cédula.

1 Respuesta

Respuesta
1

Javier: Declara la Variable co String.

Dim VNombre As String

Dim MiFiltro As String

VNombre = Nz(Me.TxtBusqueda.Value,"")

If VNombre = "" Then Exit Sub

MiFiltro = "[Nombre] = '" & VNombre & "'"

Etcétera... Saludos>> Jacinto

¡Gracias! Muchisimas gracias Jacinto, ya me funciona.

En caso de que quiera hacer la búsqueda en una parte del campo y no del campo entero, o sea, que con poner las primeras letras de un nombre me aparezca el registro, sería muy complicado o con solo cambiar o agregar algunas líneas de código basta?

Saludos, Javier.

Javier: Prueba con ésto y me comentas, porque lo escribo sobre la marcha.

MiFiltroTexto = "[Nombre] LIKE '*" & VNombre & "*'"

Espero me comentes. Saludos >> Jacinto

Hola jacinto, gracias por responder tan rápido.

Tengo que sustituir esto:

MiFiltro = "[Nombre] = '" & VNombre & "'"

Por esto:

MiFiltroTexto = "[Nombre] LIKE '*" & VNombre & "*'"

???

Si es así pues no me filtra, escribo el nombre y no sucede nada

Javier: Estaba pensando en el Texto y lo he puesto demás. Lo que no sé ahora es como no te ha dado la alarma de Variable no declarada.

¿Es posible que no tengas el Option Explicit en la Cabecera?

Debe ser MiFiltro = en lugar de MiFiltroTexto.

¡Gracias! Hola Jacinto, si, me di cuente y le quité la palabra texto y funciona de maravilla.

MiFiltro = "[Nombre] LIKE '*" & VNombre & "*'"

Muchísimas gracias por tu tiempo, la verdad que me has ayudado bastante y estoy muy agradecido.

Saludos, Javier.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas