Botón para buscar en el día

Tengo la siguiente situación:
De la tabla Factura: NoFactura Fecha Cliente Mesero Mesa
Tengo un form en donde Mesero es un cuadro combinado proveniente de la tabla Mesero,
el cual esta relacionado en la tabla Factura. Igual Mesa es un cuadro combinado
proveniente de la tabla Mesa el cual esta relacionado con la tabla Factura.
Yo deseo saber como hacer para crear un botón de búsqueda.
Supongamos que tengo 1,000 registros de Factura con fechas entre 11/08/2004 y
12/12/2004, en donde se han facturado 400 registros con la Mesa 10 y 500 registros
del mesero Karla.
Yo deseo que ese botón me busque solamente en la fecha 12/12/2004 de cualquier Mesa
o Mesero, es decir eso me sirve para agilizar la búsqueda.
Respuesta
1
No entiendo muy bien tu problema, pero no creo que la solución sea 'liarte' con cuadros combinados, si lo que quieres es facturas de cualquier mesa o mesero, en una tabla de 1000 registros (o de 100.000.000) los tiempos de respuesta van a ser buenos. Así que crea una consulta que filtre la tabla por la fecha y ya está.
Concreta la pregunta
Otra vez:
Deseo crear un botón de comando que me permita buscar rápidamente solamente en la fecha de hoy por medio del campo Mesero o Mesa.
Es decir, cuando de click en el botón me aparezca un form que me pida el Mesero y la Mesa y estando en el form Factura me encuentre dicho registro coincidente.
Esto por la razón que si tengo 30 registros de Factura del Mesero Carlos, de los cuales 10 fueron de la Mesa 15, 15 de la Mesa 10 y 5 de la Mesa, me permita encontrar rápidamente por medio de los dos parámetros.
Espero me hayas entendido y me ayudes.
Gracias
Gracias, buena respuesta
Saludos
Dios te bendiga!
Insisto, si creas una consulta y en los criterios pones
MESERO=FORMS![NOMBREFORMCONSULTA]![MESERO]
MESA = FORMS![NOMBREFORMCONSULTA]![MESA]
Esa consulta te devolverá los registros que buscas, donde nombreformconsulta es ese segundo form que abres...

1 respuesta más de otro experto

Respuesta
1
Para buscar un registro usa docmd. Findrecord
Para buscar por fecha : 11/08/2004 ,
docmd.findrecord "fecha=#8/11/4#"
observa que las constantes de fecha tienen formato inglés
si la fecha está en el cuadro de texto txtFecha,
docmd.findrecord "fecha=" & me.fecha
o, si eso no funcionase
docmd.findrecord "fecha=#" & format (me.fecha,"mm/dd/yy") & "#"
También se pueden incluir más condiciones, encadenandolas con la clausula AND, por ejemplo:
docmd.findrecord "fecha=#" & format (me.fecha,"mm/dd/yy") & "# AND mesero='" & me.txtMesero & "'"
Gracias por responderme. Probé el código y no me da el resultado esperado.
Te lo planteare de la siguiente manera:
El código del botón Buscar Registro que pone access en DAO es:
Screen.PreviousControl.SetFocus
DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70
Cuando doy click me aparece una ventana en donde buscare en dependencia en que campo estoy posicionado, yo deseo que a ese código se le puede poner dos condiciones.
Supongamos que me posicione en el campo Mesero y doy click en el botón, me aparece la ventana, yo deseo que busque con la condición siguiente: Campo Anexada (Si/No) sea No. Esto me va servir para buscar solamente las Facturas No Anexadas del mesero.
Espero me puedas ayudar.
Saludos desde Nicaragua
No, el código que comentas
-->
Screen. PreviousControl. SetFocus
DoCmd. DoMenuItem acFormBar, acEditMenu, 10,, acMenuVer70
<--
No es DAO, es solo una macro de access que el asistente para botones de comando te convierte a código y te lo incluye de modo automático en el código de tu formulario en el evento clic del botón de comando cuando tu especifcas que el botón es para buscar.
Esto no es modificable porque no es código en si, sino más bien una simulación de lo que un usuario tendría que hacer a mano si quisiese buscar a mano.
En breve te estudiaré una nueva solución para lo nuevo que mencionas.
Salud.
Ok.
Y te agradezco tu ayuda.
Saludos
La solución con FindRecord no permite buscar por más de un campo.
La nueva solución que estoy probando... grosso modo:
1- Construye la cadena de búsqueda con dos campos y dos valores*
2- Usa metodos Find / FindFirst de DAO / ADO, para localizar el registro en el recordset del formulario.
3- Sincroniza el bookmark del recordset con el del formulario, para desplazar el formulario al registro encontrado...
Dicho código se puede complicar tanto como se quiera, por ejemplo
Pueden faltar valores para los 2 campos, o para uno solo de ellos etc.
Ver si se exige que den valores en los dos campos, o decidir que hay que hacer, por ejemplo, Introducen el primero si y el otro no (o viceversa) que se hace en cada caso etc.
Alternativa, introducir "*" en cualquiera de los campos si son nulos.
Luego, también hay cuestiones de diseño, como ver si la entrada de datos para la búsqueda (que son cuadros de texto independientes, esto es sin vincular a datos de tablas etc) se hace en el mismo formulario o en otro etc.
...
Como para darte esta respuesta hasta el momento he invertida cerca de una hora de trabajo,
a partir de aquí pongo a tu disposición mis servicios profesionales de soporte y desarrollo, puedes contactarme a través de mi web.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas