Abrir informe desde Visual Basic

Quiero abrir un informe desde visual basic, tengo la conexión al informe pero no se como pasar parámetros desde VB a la consulta del informe en ACCESS. Además la consulta tiene un par de UNIONS y esto complica el filtro de la información. Dentro del Informe existen un par de subinformes que también necesitan parámetros. ¿Cómo puedo instanciarlos? Haber si me echas una mano.

1 respuesta

Respuesta
1
Para abrir un informe desde visual basic, solo tienes que escribir el comando correspondiente dentro del evento que utilizas para ello.
Por ejemplo, puedes crear un botón de impresión, y en el evento al hacer clic, incluir el siguiente código:
Sub Boton_Click()
Docmd.openreport "NombreInforme"
End Sub
Tan sencillo como esto.
Ahora bien, para pasar datos de la consulta de selección al informe, debes incluir el valor de la sentencia sql dentro del informe en el evento al abrir, más o menos de la siguiente forma:
Dim sql as string
sql="SELECT....."
Me.RecordSource = sql
Si esto te ha quedado claro, solo tienes que hacer lo mismo en los subinformes.
Pero la asignación del me.recordSource tengo que hacerla antes del OpenReport. Además, como puedo conseguir que Me apunte al Informe, porque estoy en Visual Basic y accedo al access a través de Access.Application.
Gracias por tu anterior respuesta.
Perdona, pero creí que trabajabas con Access enteramente, y que cuando te referías a visual basic, se trataba se visual basic for applications.
Desde visual basic tendría que investigar para ver como lo resuelves.
Pero si te sirve de ayuda, creo que debes dirigir tu investigación hacia algún parámetro de access. Application, y una vez cargado el objeto access, debería poderse controlar los objetos de esta aplicación.
Siento no poder ofrecerte más ayuda en este momento.
Perdona de nuevo. Si tengo un informe que pide un parámetro de la forma form! Informe!parametro1 y un subinforme que vuelve a pedir el mismo parámetro. ¿Cómo consigo que este parámetro solo se pregunte una vez al usuario?
Esto si es sencillo, para evitarte complicaciones, en las propiedades del subinforme relaciona los datos comunes usando la vinculación de campos principales con secundarios, y omite los criterios de selección en la consulta que alimenta el subformulario, de esta forma evitas preguntas, y dejas que access se encargué de todo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas