Cuadro de texto y cuadro combinado para búsquedas

Aprovecho esta segunda oportunidad para solicitar la ayuda de algún experto que por favor me ayude en lo siguiente:
Estoy diseñando una base de datos en Access bastante sencilla con dos tablas: DOCENTES y ASIGNACIÓN... Para llevar el control y la información acerca de los equipos o materiales que necesita cada profesor por fecha.
Por ejemplo: cada profesor necesita para determinada fecha... Marcadores, computador, video beam, etc. La idea es poder generar una consulta que permita solicitar la fecha en un cuadro de texto y también permita realizar la consulta por medio de un cuadro combinado para hacerlo por medio del nombre del profesor.
He intentado de miles maneras, aplicando los ejemplos que dan en los foros pero sin ningún éxito. Esto quiero hacerlo en un formulario, porque es más atractivo. Ya lo hice en una consulta con un criterio pero no me gusta de esa forma.
Respuesta
1
Puedes hacerlo de la siguiente manera, mediante código VBA, asigna este código a un botón o al evento que quieras:
'##### INICIO CODIGO#####
'Si quieres por cuadro de texto en el formulario para capturar el valor de la fecha descomenta la siguiente linea:
'Busca_Fecha = Me.Campo_Fecha_Formulario.Value
'Si quieres que aparezca una ventana con un campo de texto para capturar el valor de la fecha descomenta la siguiente linea:
'Busca_Fecha = InputBox("Introduzca la fecha con formato dd/mm/aaaa")
'Ahora asignamos el nuevo origen de datos del formulario filtrando los datos por la fecha introducida
Me.Form.Recordset = "SELECT Fecha, Campo1, Campo2 FROM MiTabla Where Fecha = #" & Busca_Fecha & "#;"
'Refrescamos el formulario.
Me.Form.Requery
#### FIN CODIGO####
Buenas tardes experto... muchas gracias por su tiempo. No había podido responder a causa del trabajo.
Ya hice lo que me pidió pero no hace la consulta y me arroja error, no se si hice algo mal. Le explico lo siguiente:
El formulario lo creo con la consulta cuyos campos son los siguientes: CODIGODOCENTE --FECHASIGNACION -HORA -ÚTILES ( de la tabla ASIGNACIÓN) y NOMBREDOCENTE-TELÉFONO (de la tabla DOCENTES) El formulario se llama Conasignacion y el cuadro de texto se llama Buscafecha
Escribí el siguiente código:
Private Sub Buscafecha_BeforeUpdate(Cancel As Integer)
Buscafecha = Me.FECHASIGNACION.Value
Me.Form.Recordset = "SELECT FECHASIGNACION, CODIGODOCE, NOMBREDOCE FROM CAsignacion Where Buscafecha = #" & FECHASIGNACION & "#;"
End Sub
Pero nada... no hace nada...
Agradezco de antemano su tiempo...
Por favor, no he obtenido respuesta... Gracias
Perdona por el retraso pero estoy últimamente un poco liado en lo personal y profesional.
El recorset esta mal, entre las almohadillas tiene que ir el nombre del campo del formulario, y después tienes que refrescar el formulario.
Seria así:
Me.Form.Recordset = "SELECT FECHASIGNACION, CODIGODOCE, NOMBREDOCE FROM CAsignacion Where FECHASIGNACION= #" & BuscaFecha & "#;"
Me.Form.Requery
Un slaudo
Buenas. Gracias por su tiempo y respuestas.
Lo siento pero aún no he dado con eso. Ya no sé qué estoy haciendo mal... copié esto en el editor de VB... pero nada...
Private Sub Busca_Fecha_AfterUpdate()
Busca_Fecha = Me.FECHASIGNACION.Value
Me.Form.Recordset = "SELECT FECHASIGNACION, CODIGODOCE, NOMBREDOCE FROM CAsignacion Where FECHASIGNACION= #" & Busca_Fecha & "#;"
Me.Form.Requery
El campo que captura la fecha en el formulario se llama Busca_Fecha y el campo donde aparece la fecha que estoy buscando se llama FECHASIGNACION.
Me arroja el mensaje...
Error de compilación...
No se encontró el método o dato miembro...
Me estoy dando por vencido... Si cree que es mejor... ¿podría enviarle el archivo a su correo?
De antemano, mil gracias... sea cual sea su respuesta...
Buenas...
Hay un detalle que no mencioné respecto a la última pregunta...
El formulario de consulta tiene un subformulario...
El origen de datos del Formulario principal es la Tabla de Docentes (TDocentes) y el origen de datos del subformulario es la Tabla de asignación de equipos (TASIGNACION)
No se si esto pueda servir de algo...
Gracias...
Sin problemas, mándamelo a este correo, [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas