Como automatizar o processo de selecionar a impressora para um relatório no Microsoft Access

O suporte para o Office 2003 terminou

A Microsoft terminou o suporte para o Office 2003 em 8 de abril de 2014. Esta alteração afetou as suas atualizações de software e opções de segurança. Saiba o que isto significa para você e como permanecer protegido.

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 319317
Iniciante: Requer conhecimento da interface do usuário em computadores de usuário único.

Este artigo se aplica para um arquivo de banco de dados (.mdb) do Microsoft Access ou para um arquivo de banco de dados (.accdb) do Microsoft Access.
Sumário
Se você desejar imprimir um relatório para uma determinada impressora, você pode selecionar manualmente a impressora e todas as opções de impressão, ou você podem automatizar o processo para que com um clique de um botão, você pode alternar impressoras e, em seguida, imprimir o relatório com as opções que você predefine. Este artigo explica como automatizar o processo de seleção da impressora.
Mais Informações
Este procedimento usa dois exemplos: impressão em uma impressora a laser e imprimindo em uma impressora matricial. Você pode substituir as impressoras específicas que você deseja usar. Para automatizar o processo de seleção de impressora para um relatório específico, execute estas etapas:
  1. Crie os relatórios de três a seguir:
    • rptLaserPrinter
    • rptDotMatrix
    • rptMyReport
    Observação : rptMyReport representa o relatório real que você deseja imprimir.
  2. Para definir as opções de impressora, execute estas etapas:
    1. Abra rptLaserPrinter no modo de design.
    2. No menu arquivo , clique em Imprimir .

      Observação No Access 2007, clique no Botão Microsoft Office e clique em Imprimir .
    3. Na caixa de diálogo Imprimir , clique na impressora a laser que você deseja usar na caixa nome e, em seguida, clique em OK .
    4. Clique em Propriedades , definir as opções de impressão que você deseja, como a orientação e tamanho do papel e em seguida, clique em OK .
    5. Repita as etapas à d para rptDotMatrix. Clique na impressora matricial na etapa c.
  3. Na janela banco de dados, clique em módulos , clique em novo e digite a seguinte função:

    Observação No Access 2007, clique em módulo no outro grupo na guia criar .

    Function ChangePrinter(rptToChange As String, rptPrinter As String)   Dim rpt1 As Report, rpt2 As Report              DoCmd.OpenReport rptToChange, acViewDesign   DoCmd.OpenReport rptPrinter, acViewDesign              Set rpt1 = Reports(rptToChange)   Set rpt2 = Reports(rptPrinter)              rpt1.PrtDevNames = rpt2.PrtDevNames              DoCmd.Close acReport, rptPrinter, acSaveNo   DoCmd.OpenReport rptToChange, acViewPreviewEnd Function						
    Observação : A função ChangePrinter copia a propriedade PrtDevNames de um relatório para outro. Em seguida, você pode copiar as opções de impressão que você define para os relatórios de rptLaserPrinter e rptDotMatrix para um relatório específico que você deseja imprimir.

    Observação : A propriedade "acSaveNo" é usada na linha "DoCmd.Close acReport, rptPrinter, acSaveNo" do código que é mostrado anteriormente nesta seção. Se você não usar esta opção e salvar PrtDevName de uma impressora não-padrão ao design do relatório, o relatório não será capaz de encontrar a impressora quando ele é executado na próxima vez. Você receberá a seguinte mensagem de erro:
    Este documento foi formatado anteriormente para a impressora <printername><port> <porta>; mas essa impressora não está disponível. Você deseja usar a impressora padrão <defaultprintername><port> em <porta>?
  4. Salve o módulo como Module1 e saia do Editor do Visual Basic.
  5. Criar o seguinte formulário:
       Form: frmForm1   ------------------------------      RecordSource: Unbound   Control Type: Command Button      Name: cmdLaser      Caption: Laser   Control Type: Command Button      Name: cmdDotMatrix      Caption: Dot Matrix					
  6. No menu Exibir , clique em código .

    Observação No Access 2007, clique em Exibir código no grupo Ferramentas na guia Design .
  7. No Editor do Visual Basic, digite os seguintes procedimentos:
    Private Sub cmdLaser_Click ()  Call ChangePrinter("rptMyReport", "rptLaserPrinter")  DoCmd.PrintOutEnd SubPrivate Sub cmdDotMatrix_Click ()  Call ChangePrinter("rptMyReport", "rptDotMatrix")  DoCmd.PrintOutEnd Sub					
  8. Sair do Editor do Visual Basic e altere a propriedade Ao clicar de ambos os botões de comando como [Procedimento de evento] . Para fazer isso, execute estas etapas:
    1. No modo de exibição Design, clique no botão de comando e, em seguida, clique em Propriedades no menu Exibir .

      Observação No Access 2007, clique o botão de comando no modo de exibição design e, em seguida, clique em Folha de propriedades no grupo Ferramentas na guia Design .
    2. Clique na guia evento , clique na propriedade Ao clicar , clique na seta para baixo e, em seguida, clique em [Procedimento de evento] .
  9. Para imprimir rptMyReport para uma impressora específica, abra frmForm1 no modo formulário e, em seguida, clique no botão apropriado.
Referências
Para obter mais informações sobre como controlar a impressora do Microsoft Access, visite o seguinte site:

http://msdn2.microsoft.com/en-us/library/Aa207072(office.10).aspx
PRB inf ACC2002 ACC2003 ACC2007

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 319317 - Última Revisão: 08/17/2007 02:18:14 - Revisão: 7.2

Microsoft Office Access 2007, Microsoft Office Access 2003, Microsoft Access 2002 Standard Edition, Microsoft Access 2000 Standard Edition, Microsoft Access 97 Standard Edition

  • kbmt kbinfo kbexpertiseinter kbprogramming kbdatabase kbprinters kbreport kbhowto KB319317 KbMtpt
Comentários