Juanjo Luna

MVP Microsoft 365 Apps & Services 2023

LinkedIn Learning Instructor

Presidente de Access User Groups España

CEO Luna-Soft

Desarrollador

Consultor Informático

Juanjo Luna

MVP Microsoft 365 Apps & Services 2023

LinkedIn Learning Instructor

Presidente de Access User Groups España

CEO Luna-Soft

Desarrollador

Consultor Informático

Blog Post

Indicar por código la impresora para un informe

29 de marzo de 2024 ACCESS, El rincón de Happy, Informes

Pregunta

¿Hay alguna forma en que pueda, a través de código, indicar la impresora por la cual quiero que se imprima un determinado informe?

Respuesta

Esta pequeña rutina es una “encapsulación” de la instrucción OpenReport del objeto DoCmd. Se la ha de llamar de manera parecida, pero en su último argumento hay que pasarle el nombre de la impresora por la cual se quiera imprimir ese informe. Para que funcione adecuadamente, el informe no debe de tener ninguna impresora asociada.

Un ejemplo de uso:

' este código imprimirá el informe "informe1"
' a través de la impresora "Acrobat Distiller"
OpenReportPrt "informe1", , , , "Acrobat Distiller"

Copia y pega este código en un módulo estandar

'---------------------------------------------------------
'
' OpenReportPrt
'
' Código escrito originalmente por Juan M Afán de Ribera.
' Estás autorizado a utilizarlo dentro de una aplicación
' siempre que esta nota de autor permanezca inalterada.
' En el caso de querer publicarlo en una página Web,
' por favor, contactar con el autor en
'
'     accessvbafaq@ya.com
'
' Este código se brinda por cortesía de
' Juan M. Afán de Ribera
'
Sub OpenReportPrt(ReportName, _
                  Optional View = acViewNormal, _
                  Optional FilterName, _
                  Optional WhereCondition, _
                  Optional Printer)

Dim DefaultPrt As String

    ' guardamos el valor de la impresora predeterminada
    DefaultPrt = GetDefaultPrinter
    ' hacemos predeterminada la impresora que hemos escogido
    SetDefaultPrinter Nz(Printer)
    ' imprimimos el informe con los parametros pasados a la rutina
    On Error Resume Next
    DoCmd.OpenReport ReportName, View, FilterName, WhereCondition
    ' ponemos como predeterminada la impresora que estaba
    SetDefaultPrinter DefaultPrt

End Sub
'---------------------------------------------------------

Créditos

con el fin de dar a conocer el trabajo de uno de los más grandes en el mundo de Access en español, y tras solicitar su permiso, replico este artículo de Juan M Afán de Ribera. Todos los derechos y autoría corresponden a él. Access & VBA FAQ – Indicar por código la impresora para un informe (archive.org)

Taggs:
Related Posts
Opciones de impresión a través de código

Pregunta Sé cómo imprimir un informe mediante código y sé cómo hacer para que aparezca el cuadro de diálogo imprimir,…

Totales por página

Cómo conseguir en un informe calcular sólo el total para cada página

Write a comment