Buscar entre dos fechas en la condición Where con macro incrustada

quería pedir de su ayuda una vez mas. Estoy creando un informe llamado FACTURA_COMPRAS que contiene los campos FECHA, NUMERO_FACTURA, PROVEEDOR, SUBTOTAL, IVA y TOTAL para poder consultar por fecha. Ya tengo creado el un cuadro de texto en un formulario que se llama MENU FACTURAS DE COMPRAS, llamado FECHA_INICIAL y  un botón con macro incrustada que me abre el informe y en la condición Where puse [FECHA]=[Formularios]![MENU FACTURAS DE COMPRAS]![FECHA_INICIAL], con esta condición me abre el formulario y me busca por la fecha que le indique al cuadro de texto FECHA_INICIAL, pero me gustaría agregar otro cuadro de texto llamado FECHA_FINAL y al presionar el botón me abra el informe con las fechas entre esos dos rangos. Que tendría que agregarle a la condición Where para que lo pueda hacer? 

1 respuesta

Respuesta
2

Ponle la condición como:

[FECHA] between [Formularios]![MENU FACTURAS DE COMPRAS]![FECHA_INICIAL] and [Formularios]![MENU FACTURAS DE COMPRAS]![FECHA_FINAL]

Si te da error, cambia el "between" por "entre" y el "And" por "y", porque en una macro no estoy seguro de la sintaxis exacta.

Funciona a la perfección, muchas gracias por la ayuda. Un abrazo

Perdón por molestar, pero cerré la base de datos y después la volví a abrir para seguir trabajando en ella pero me sale un error al abrir el formulario en el cual coloque el código recomendado. cual puede ser el problema?

El error está en algún evento "al abrir", según te indica la ventana de error, no en la macro, que va asociada a un evento "al hacer clic". Además, la expresión de la macro es totalmente correcta (tu mismo dijiste que funcionaba al ponerla)

Lo único que te puedo decir es que compactes y repares tu BD (desde la pestaña Archivo -> Informacion -> Compactar y reparar base de datos) y compilar el código (menu de VBA -> Depuración -> Compilar...), y si no lo resuelve, revises en tus formularios e informes los eventos "al abrir" a ver dónde está el problema.

Efectivamente era como me dices. Revise el formulario en el evento al abrir y tenia este código 

Private Sub Form_Open(Cancel As Integer)
DoCmd.Maximize
End Sub

Que otro método puedo usar para maximizar al abrir el formulario y no me de error al abrirlo?

Pon el DoCmd. Maximize en el evento "Al cargar"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas