Necesito hacer un formulario de búsqueda (urgente)

Tengo una tabla alumnos y de ahí tengo que hacer un formulario que tiene primer nombre, primer apellido y un botón que diga buscar... Bueno tengo que teclear en primer nombre o en primer apellido una letra o parte de un nombre o apellido y al presionar me tiene que buscar la letra o parte del nombre en la tabla y en otro formulario o reporte mostrarme lo que encontró.
Me urge, me urge, me urge

2 Respuestas

Respuesta
1
Es fácil... pero tal como lo pones, así desde el principio, va a ser un pelín largo.
En fin, si no lo tienes hazte el formulario de alumnos que muestre todos los registros y lo guardas con un nombre cualquiera.
Ahora te haces otro formulario, le añades tantos textbox como campos por los que quieras buscar, y a cada uno le pones un nombre fácil de identificar (ver/Propiedades/Otras/nombre). Añades un botón, le pones de texto 'Buscar' (cancelando el asistente si te sale), en sus propiedades vas a eventos, te pones en el campo de 'al hacer click', le das a los puntos suspensivos para generar código.
Estarás ahora en el editor de visual basic. Aquí es donde hay que poner el código para abrir el formulario anterior con los datos necesarios. Para ello sería algo así como
dim wh$
docmd.close acform,"alumnos" ' por si estaba abierto
wh="true"
if not isnull(me.dni) then wh=wh & " and dni like '" & me.dni & "*'"
if not isnull(me.nombre) then wh=wh & " and nombre like '" & me.nombre & "*'"
...
Docmd. OpenForm "alumnos",,, wh
Modifícalo con tus propios nombres (los de me. Son campos del formulario, los de dentro de la variable wh son los de la tabla) y a probar el invento...
Respuesta
1
Disculpa el retraso...
Private Sub Texto27_KeyPress(KeyAscii As Integer)
Dim base As Database
Dim rst As Recordset
If KeyAscii = 13 Then
Set base = CurrentDb
Set rst = base.OpenRecordset("select * from amigos where nombre like '" & Texto27.Text & "*'")
Me.subformulario.RecordSource = rst
rst.Close
Set rst = Nothing
Set base = Nothing
End Sub
Suerte!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas