Microsoft Office Online
Entrar em Meu Office Online (O que é isto?) | Entrar

Aviso: você está exibindo esta página com uma versão de navegador da Web sem suporte. Este site é melhor visualizado no Microsoft Internet Explorer 6.0 ou posterior, no Firefox 1.5 ou no Netscape Navigator 8.0 ou posterior. Mais informações sobre navegadores com suporte.

Alterando as configurações de impressora para um relatório no Access 2002
 

Você pode definir opções de configuração de página para cada relatório de um banco de dados, mas as configurações não serão armazenadas para cada usuário do banco de dados. Ou seja, se fizer alterações nas configurações de impressão do relatório Fatura, estas sobrescreverão as modificações feitas pelo usuário anterior.

Escrevendo código, você pode permitir que os usuários especifiquem configurações personalizadas em tempo de execução, sem alterar as opções de configuração de página ou de impressora padrão do relatório. Além disso, é necessário fornecer aos usuários uma caixa de diálogo ou um formulário onde possam especificar as configurações desejadas.

A ilustração a seguir apresenta o formulário Configurações da Impressora, que permite ao usuário personalizar configurações de impressão e visualizar ou imprimir um relatório.

Formulário para especificar configurações de impressão personalizadas

1 Selecione um relatório para visualizar ou imprimir.

2 Selecione a impressora a ser usada para o relatório.

3 Especifique o tamanho e a orientação do papel.

4 Clique para visualizar o relatório.

5 Clique para aplicar as configurações de impressão mais recentes a um relatório que já esteja aberto na janela Visualizar.

6 Clique para imprimir o relatório.

Criar o formulário Configurações da Impressora

  1. Crie um formulário no modo Design e adicione os seguintes controles, conforme mostrado na ilustração acima.
    • lbxSelectReport: caixa de listagem para exibir a lista de relatórios
    • cmbPrinter: caixa de combinação para exibir a lista de impressoras disponíveis
    • cmbPaperSize: caixa de combinação para exibir a lista de tamanhos de papel
    • opgOrientation: grupo com duas opções para exibir os tipos de orientação
    • cmdPreview: botão de comando para abrir um relatório no modo de visualização
    • cmdApplyChanges: botão de comando para aplicar as últimas configurações ao relatório atual
    • cmdPrint: botão de comando para imprimir o relatório selecionado com as configurações especificadas no formulário
  2. Adicione código ao evento Open do formulário para inicializar os controles.

    MostrarSubprocedimento de exemplo do evento Open

    Private Sub Form_Open(Cancel As Integer)
    
    ' Variable to hold the default printer index.
    Dim strDefaultPrinter As String
    
    ' Variable to hold the printer object.
    Dim prt As Printer
    
    ' Variable to hold the report object while cycling
    ' through the AllReports collection.
    Dim accObj As AccessObject
    
    ' Fill the printer list.
    ' Make sure the RowSource is empty.
    Me!cmbPrinter.RowSource = ""
    Me!lbxSelectReport.RowSource = ""
    
    ' Cycle through the printers installed on the machine and add them to the combo box.
    For Each prt In Application.Printers
    ' Use the new AddItem method to add the printer name to the combo box.
    Me!cmbPrinter.AddItem prt.DeviceName
    Next
    
    ' Remember the default printer.
    strDefaultPrinter = Application.Printer.DeviceName
    
    ' Set the combo box to the default printer.
    Me!cmbPrinter = strDefaultPrinter
    Me!cmbPaperSize = 1
    
    ' Fill the report list.
    For Each accObj In CurrentProject.AllReports
    Me!lbxSelectReport.AddItem accObj.Name
    Next
    
    ' Set the list box to the first report.
    Me!lbxSelectReport.SetFocus
    Me!lbxSelectReport.ListIndex = 0
    
    End Sub
    
  3. Adicione código ao botão de comando Visualizar Relatório para abrir o relatório selecionado no modo de visualização.

    MostrarProcedimento de exemplo do evento OnClick para o botão de comando Visualizar Relatório

    Private Sub cmdPreview_Click()
    ' Variable to hold the printer object to manipulate.
    Dim prt As Printer
    
    ' Grab the printer object for the selected printer.
    Set prt = Application.Printers(Me!cmbPrinter.Value)
    
    ' Read user-specified settings.
    prt.PaperSize = Me!cmbPaperSize
    prt.Orientation = Me!opgOrientation
    
    ' Open the report in preview mode.
    DoCmd.OpenReport Me!lbxSelectReport, acViewPreview
    
    ' Set the report's printer to the modified printer object.
    Reports(Me!lbxSelectReport).Printer = prt
    
    End Sub
    
  4. Adicione código ao botão de comando Aplicar Alterações para realizar modificações no relatório que já está aberto no modo de visualização.

    MostrarProcedimento de exemplo do evento OnClick para o botão de comando Aplicar Alterações

    Private Sub cmdApplyChanges_Click()
    
    If CurrentProject.AllReports(Me!lbxSelectReport).IsLoaded Then
        With Reports(Me!lbxSelectReport).Printer
        .PaperSize = Me!cmbPaperSize
        .Orientation = Me!opgOrientation
        End With
    Else
        MsgBox "Please preview the report first."
    End If
    
    End Sub
    
  5. Adicione código ao botão de comando Imprimir relatório para impressão do relatório selecionado com base nas configurações especificadas pelo usuário.

    MostrarProcedimento de exemplo do evento OnClick para o botão de comando Imprimir Relatório

    Private Sub cmdPrint_Click()
    
    ' Check if the report is open.
    If CurrentProject.AllReports(Me!lbxSelectReport).IsLoaded Then
        ' Print report if already open.
        DoCmd.OpenReport Me!lbxSelectReport, acViewNormal
    Else
        ' Set up the application printer with custom settings.
        Application.Printer = Application.Printers(Me!cmbPrinter.Value)
        Application.Printer.PaperSize = Me!cmbPaperSize
        Application.Printer.Orientation = Me!opgOrientation
    
        ' Open and print the report using the new application-level printer settings.
        DoCmd.OpenReport Me!lbxSelectReport, acViewNormal
    
        ' Reset the application printer as the default.
        Set Application.Printer = Nothing
    End If
    
    End Sub
    

Para obter mais informações sobre como programar no Microsoft Access, visite o Office Developer Center no MSDN (Microsoft Developer Network).

© 2009 Microsoft Corporation. Todos os direitos reservados.