Blog alskare

.Net y lo que surja

Access. Mostrar cuadro de impresión

Posted by alskare en 28/07/2009

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

Sorry, the comment form is closed at this time.

 
A %d blogueros les gusta esto: