Indicar por código la impresora para un informe
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)
Pregunta Sé cómo imprimir un informe mediante código y sé cómo hacer para que aparezca el cuadro de diálogo imprimir,…
Cómo conseguir en un informe calcular sólo el total para cada página