+Imprimir Registro Activo

 

Hace tan sólo dos días, respondí a una pregunta en el foro parecida lo siguiente:

Para abrir un informe filtrando por el mismo registro del formulario que lo abre se puede usar el asistente para abrir un formulario filtrando y trastearlo para usar el código generado para abrir el informe. Como es una pregunta que se repite con frecuencia, voy a explicar detalladamente los pasos para que la misma explicación me valga para otras veces.

Se supone que el formulario que lo llama y el informe que se abre tienen un campo identificador de registro único que se llama igual en ambos casos.


1.- Crea un botón, usando el asistente, para abrir el informe, como quieras.


2.- Crea otro botón, (no te esmeres mucho, que lo vamos a desechar) usando también el asistente para abrir un formulario y, a la hora elegir el formulario que vas a abrir, selecciona el nombre del mismo formulario que estés usando. Asigna los valores de los campos de uno y otro formulario (se supone que el mismo) para que te filtre el segundo por el registro del primero.


3.- Pulsa con el botón derecho del ratón sobre el botón recién creado y selecciona "Generar evento". Se abrirá el editor de VBA en el evento Click de ese botón. Selecciona y copia al portapapeles una línea que empieza por "StLinkCriteria = ..."


4.- Vete ahora al botón que abre el informe y sigue los mismos pasos para editar el código. Pega la línea que habías copiado debajo de otra que empieza por  "StDocname = ..."


5.- Escribe debajo de la línea que empieza por "Dim StDocname..." lo siguiente:
Dim stLinkCriteria As String


6.- Ahora, fijate en que tienes una línea que pone algo así:
DoCmd.OpenReport stDocName, acPreview


Cámbiala para que ponga:
DoCmd.OpenReport stDocName, acPreview, , stLinkCriteria


7.- Aunque no sepas nada, de código, fíjate bien en el código que resulta:
acabarás enterándote de algo. Si sabes algo de código, repasa lo que has hecho: Lo comprenderás todo.


8.- Ahora ya puedes borrar el código del botón para abrir el formulario y el botón mismo.


icono atras[ << Volver ]