Access - Mandar variable a un informe

 
Vista:

Mandar variable a un informe

Publicado por Gubert (28 intervenciones) el 17/10/2006 00:11:21
Saludos.

Sabe alguien como mandar una variable a un informe para que se imprima en la cabecera?

Se trata de filtrar el informe entre fechas y que salgan las fechas en la cabecera.

Se cómo mandar el filtro.

DoCmd.OpenReport varReport, acPreview
Set inf = Reports(varReport)
inf.FilterOn = True
inf.Filter = txtFiltro

Pero ignoro lo de la variable.

Gracias, Gubert.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Cómo enviar una variable a un informe para imprimir en la cabecera

Publicado por Alejandro (4142 intervenciones) el 26/07/2023 23:06:55
Puedes lograr esto utilizando una función pública en un módulo de VBA para almacenar el valor de la variable y luego acceder a esa función desde el informe para mostrarlo en la cabecera. A continuación, se proporciona un ejemplo detallado:

1. Crea un nuevo módulo en tu base de datos de Access si aún no tienes uno.

2. En el módulo, agrega una función pública para almacenar el valor de la variable. Por ejemplo:

1
2
3
4
5
6
7
8
Option Compare Database
Option Explicit
 
Public strVariable As String
 
Public Function GetVariable() As String
    GetVariable = strVariable
End Function

3. En el evento donde estableces el filtro y abres el informe, asigna el valor de la variable antes de abrir el informe:

1
2
3
4
5
6
7
8
9
10
11
Dim varReport As String
Dim txtFiltro As String
 
' Asigna el valor de la variable (en este ejemplo, se asume que txtFiltro contiene la fecha)
strVariable = "Filtrado por Fecha: " & txtFiltro
 
' Abre el informe con el nombre almacenado en varReport
DoCmd.OpenReport varReport, acPreview
 
' Restablece el valor de la variable después de abrir el informe para evitar problemas con futuras impresiones
strVariable = ""

4. Ahora, en el informe, puedes mostrar la variable en la cabecera utilizando un cuadro de texto no vinculado. Para hacer esto:

a. Abre el informe en modo "Diseño".

b. Asegúrate de que la barra de herramientas "Cuadro de herramientas" esté visible (si no, ve a Ver -> Barra de herramientas -> Cuadro de herramientas).

c. Selecciona el control "Cuadro de texto" en la barra de herramientas.

d. Dibuja un cuadro de texto en la cabecera del informe.

e. Haz clic derecho en el cuadro de texto y selecciona "Propiedades".

f. En la pestaña "Datos", selecciona "Campo" como la fuente de control.

g. En el cuadro "Control fuente", ingresa la siguiente expresión:

1
=GetVariable()

Esto hará que el cuadro de texto muestre el valor de la variable almacenado en la función pública `GetVariable()` del módulo.

5. Guarda el informe y cierra el modo "Diseño".

Ahora, cuando abras el informe, mostrará la variable en la cabecera, filtrando los datos según las fechas y mostrando el texto correspondiente en la cabecera. Recuerda restablecer el valor de la variable después de abrir el informe para evitar conflictos con futuras impresiones.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar