Utilización variables de memoria

Tengo un informe que tira de una consulta; esta consulta es referida a una tabla y lo que hace es restringir la búsqueda en un campo fecha del modo "ENTRE [desdefe] Y [hastafe]".
El informe lleva asociado un procedimiento, que he abierto y por el que declaro y relleno (inputbox) las variables [desdefe] y [hastafe] ( en OPEN]
Cuando lanzo el informe, me pide el rango, llama a la consulta... Y me vuelve a pedir el rango.
¿De qué forma puede la consulta tomar las dos variables declaradas en la apertura delinforme?

1 respuesta

Respuesta
1
Bueno yo lo que haría sería lo siguiente: en primera basaría el informe directamente en la tabla, y luego pondría lo siguiente en el evento OPEN del informe:
Dim SQL, FECHAINICIAL, FECHAFINAL
FECHAINICIAL = InputBox("Indique la fecha inicial", "INICIO")
FECHAFINAL = InputBox("Indique la fecha inicial", "FIN")
SQL = "select * from reuniones where fecha Between #" & FECHAINICIAL & "# and #" & FECHAFINAL & "#"
Me.RecordSource = SQL
Por supuesto aquí asumo que la tabla se llama REUNIONES y el campo fecha se llama FECHA; tu tendrías que cambiar esos datos de acuerdo a como este tu base.
Lo que hace lo anterior es preguntarte en inputbox primero la fecha inicial y luego la fecha final. Esta funcionando en formato d/m/aaaa, pero puede variar en tu computador.
Ante todo mil gracias por tu respuesta.
Permíteme solicitarte una aclaración : el método que me propones presupone que se mucho más que lo que realmente es, con respecto a VB y SQL... en fin que no tengo ni idea sobre objetos, módulos, etc ( vengo de defenderme muy bien en Dbase y esto es muy nuevo para mi); para mi seria mucho más fácil si hubiera un método para traspasar esas variables de memoria a una consulta, más concretamente al interfaz de access de consultas.
Reiterarte las gracias otra vez
Ante todo disculpa pensé por la forma en que te expresaste que estabas trabajando en Visual...
Bueno hice lo siguiente en una base y me funciono: Elabore una consulta a partir de una tabla, bajando el * (todos los campos) y bajando además el campo fecha pero desactivando la casilla de verificación (no mostrar esa columna) en los criterios de fecha coloqué exactamente lo siguiente:
Entre [FechaInicial] Y [FechaFinal]
Guardé la consulta, y basé el informe en esa consulta y sólo me preguntó por los datos una vez.
Intenta seguir lo anterior al pié de la letra a ver si te funciona.
En cuanto a lo que te había respondido antes no es tan complicado, abres el reporte en diseño luego das clic en ese cuadradito gris que aparece en la esquina superior izquierda del informe (como seleccionando toda la hoja en Excel) lo cual selecciona el informe, luego vas al menú "Ver" "Propiedades", en la ventana que aparece hay una pestaña llamada "Eventos" la seleccionas y allí aparece la opción "Al abrir" si te colocas allí al final veras un botón con ... lo oprimes y te aparece una ventana de visual lo único que tienes que hacer es pegar el código que te escribí:
Dim SQL, FECHAINICIAL, FECHAFINAL
FECHAINICIAL = InputBox("Indique la fecha inicial", "INICIO")
FECHAFINAL = InputBox("Indique la fecha inicial", "FIN")
SQL = "select * from reuniones where fecha Between #" & FECHAINICIAL & "# and #" & FECHAFINAL & "#"
Me.RecordSource = SQL
Entre las dos líneas que aparecen y cambias donde dice reuniones por el nombre de tu tabla y donde dice fecha por el nombre del campo en tu tabla que contiene las fechas que quieres filtrar. Eso es todo luego puedes cerrar esa ventana, guardar y abrir el reporte a ver que sucede.
Bueno.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas