Como consecuencia del calor que andamos sufriendo, apetece más estar un rato en la piscina que detrás del brillo de un monitor, aunque no por eso dejaremos de postear alguna que otra utilidad.
Hace ya mucho, pero que mucho tiempo, desarrollé una pequeña utilidad para Access 2003 (creo que cuando la creé íbamos por la versión 97), la cual permite mostrar el cuadro de impresión (aquel que permite modificar las opciones de impresión, como la selección de impresora, las copias, etc) antes de imprimir un informe ya creado. De hecho, aunque sea una rutina casi “mayor de edad”, la verdad es que no pierde utilidad. Por lo menos, en mi caso, todavía en algún momento me toca mantener o crear alguna cosa sencillita en Access.
Pues nada, aquí va la utilidad del día de hoy:
Option Compare Database Option Explicit Function Imprime(strInforme As String, _ ModoPresentacion As Boolean, _ Optional strFiltro As String) ' ' Permite la impresión del informe por cualquier impresora ' abriendo el cuadro de diálogo de imprimir ' alskare 18-01-00 ' ' Premisas '********************************************************** ' strInforme : Cadena de texto que representa el nombre del ' fichero a imprimir ' ModoPresentacion: Valor Booleano ' - True = Presentación Preliminar ' - False = Imprimir ' strFiltro : Cadena de texto opcional que permite filtrar ' los registros impresos en formato ' "IdCliente = " & IdCliente ' On Error GoTo Err_Imprime DoCmd.Echo False If IsMissing(strFiltro) Then strFiltro = "" End If DoCmd.OpenReport strInforme, acViewPreview, , strFiltro If Not ModoPresentacion Then DoCmd.RunCommand acCmdPrint 'Presenta cuadro impresoras DoCmd.Close acReport, strInforme, acSaveNo DoCmd.Echo True End If Sal_Err_Imprime: DoCmd.Echo True Exit Function Err_Imprime: Select Case Err.Number Case 2501 'Se cancela el cuadro de imprimir Err.Clear DoCmd.Close acReport, strInforme, acSaveNo Case Else MsgBox Err.Number & ". " & Err.Description End Select Resume Sal_Err_Imprime End Function