Access 2003, seleccionar registros desde un formulario

Tengo una tabla con varios campos, entre ellos el nombre y apellidos. La idea es desde un formulario con un campo de texto independiente, escribir parte de un nombre y con un botón hacer que se arranque una consulta en la que aparezcan los registros de la tabla en la que en el campo nombreyapellidos esté incluido el texto indicado en el formulario de búsqueda.

2 respuestas

Respuesta
2

Puedes hacer esto:

1º/ Crea la consulta con los campos que quieras mostrar.

2º/ Crea tu formulario sobre la consulta anterior (a mi me gusta con distribución tabular, para mostrar resultados de búsqueda)

3º/ Abre tu formulario en Vista Diseño, y en el encabezado (o en el pie) le añades un cuadro de texto independiente, que llamas txtBuscar (Propiedades->Otras->Nombre) y un Botón de comando, que llamas cmdBuscar.

4º/ Al botón le generas este código en el evento "Al hacer Click":

Private Sub cmdBuscar_Click()
If Nz(Me.txtBuscar,"")="" Then
MsgBox "Tienes que escribir  algo para poder buscar", vbInformation+vbOkOnly,"ERROR"
Me.txtBuscar.SetFocus
Else
Dim miFiltro as String
miFiltro="nombreyapellidos LIKE '*" & me.txtBuscar & "*'"
Me.Filter=miFiltro
Me.FilterOn=true
End If
End Sub

Además, puedes añadir otro botón (cmdQuitar) para "resetear" la búsqueda, con este código:

Private Sub cmdQuitar_Click()
Me.Filter=False
End Sub

Muchas gracias por la respuesta, ha funcionado de maravilla.

Antes de darte un Excelente, comentarte que ene el segundo botón, el de Quitar, en el código hay que poner Me.filterOn=False, para que funcione, pero me he dado cuenta enseguida al revisar el código del botón buscar.

Lo dicho. Muchísimas gracias

Si, tienes razón, fallo mío, je je.

Respuesta
1

Yo lo haría así:
* Un formulario independiente con un subformulario con la tabla que contiene los datos
* UN control de cuadro de texto (p.e. txtNombreABuscar)
* Un botón para aplicar el filtro o aplicarlo directamente cada vez que se teclea algo

Se usa la pripiedad Filter y FilterOn en el código, ejemplo:

Me.TuSobformulario.For.Filter = "ElCampo Like '*" & Me.txtNombreABuscar & "*'"
Me.TuSobformulario.For.FilterOn = True

Un ejemplo de una gran amigo mio:
http://www.mvp-access.com/foro/utilidades-filtra-busca-resalta-tipo-sql_topic77949.html

Aqui encontrarás cursos en linea:
http://accessusergroups.org/access-latino/
http://accessusergroups.org/espana/

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas