Cancelar impressão se um relatório não contiver registros

Importante :  Este artigo foi traduzido por um sistema de tradução automática, leia o aviso de isenção de responsabilidade. Para sua referência, veja a versão em inglês deste artigo aqui.

Por padrão, é possível imprimir relatório que não contenham registros. Para resolver este problema, você pode usar uma macro ou código Microsoft VBA (Visual Basic for Applications) para detectar a ausência de registros em um relatório e cancelar a operação de impressão. As etapas deste artigo explicam como usar ambas as técnicas.

O que você deseja fazer?

Usar uma macro para cancelar a impressão

Usar código VBA para cancelar a impressão

Provavelmente você desejará cancelar a impressão de um relatório quando ele não contiver registros. Por exemplo, se você estiver começando a vender um novo produto, é provável que haja um intervalo de tempo em que você ainda tenha de registrar quaisquer vendas. Assim, você deve considerar a possibilidade de que alguns de seus relatórios não contenham registros de detalhes e quaisquer funções agregadas, como a função Contar, talvez não tenham nada para contar. Para lidar com tal ocorrência tranquilamente, você pode criar uma macro que cancele o trabalho de impressão. Você também pode adicionar algumas linhas de um código VBA cuidadosamente escrito para fazer a mesma coisa. VBA é a linguagem de programação usada pelo Microsoft Office Access 2007.

Você adicionar a macro ou o código do VBA como Sem Daguias procedimento do evento do relatório. Office Access 2007 aciona o evento de Nenhum dado sempre que você executar um relatório sem registros. A macro e o código do VBA descrito neste artigo exibem uma mensagem adequada e cancelar a impressão do relatório quando esse relatório não contém dados. Quando você adiciona uma macro ou código do VBA para o procedimento de evento Nenhum dado , a macro ou o código VBA é executado sempre que você abrir um relatório que não contém registros. Quando você clica em OK para fechar qualquer mensagem de alerta, a macro também fecha o relatório em branco. Quando você adiciona a macro ou o código do VBA para o relatório, um relatório em branco não será aberto quando você tenta exibi-lo no modo de exibição de relatório ou modo de exibição de Layout, mas você pode abrir o relatório no modo Design.

Usar macro para cancelar a impressão

A macro descrita nesta seção exibe uma mensagem de alerta quando você tenta imprimir um relatório em branco. Quando você clica em OK para fechar a caixa de mensagem, a macro cancela automaticamente a operação de impressão. Se você não incluir uma mensagem de alerta, aparentemente nada acontecerá quando você tentar imprimir o relatório — algo que provavelmente confundirá os usuários do relatório.

Crie a macro

  1. No Painel de navegação, clique com o botão direito do mouse no relatório que você deseja alterar e clique em Modo Design.

  2. Na guia Design, no grupo Mostrar/Ocultar, clique em Folha de Propriedades.

    -ou-

    Clique duas vezes na caixa que aparece no canto superior esquerdo ou direito do relatório, dependendo das configurações regionais e de idioma.

  3. Clique na guia evento e, na caixa de propriedade Nenhum dado, clique em Botão Construtor .

    A caixa de diálogo Escolher Construtor aparecerá.

  4. Clique no Construtor de Macros e clique em OK.

    O designer de macro é iniciado e exibe uma macro em branco.

  5. Na primeira linha da macro, clique no campo da coluna Ação e selecione CaixaDeMensagem na lista.

  6. Em Argumentos da Ação na seção inferior do designer de macros, na caixa Mensagem, digite o texto da mensagem de alerta.

    Por exemplo, você poderia digitar: Não há registros no relatório.

  7. Opcionalmente, altere o valor do argumento na caixa AlarmeSonoro de Sim para Não e na lista Tipo, selecione o tipo de ícone que você deseja que apareça em sua mensagem de alerta.

  8. Na caixa Título, digite o título para a mensagem de alerta.

    Por exemplo, você pode digitar Sem registros.

    Suas alterações aparecerão na parte superior do designer de macros — na coluna Argumento, próxima à ação CaixaDeMensagem.

  9. Na parte superior do designer de macros, clique próximo à célula na coluna Ação (a célula que fica logo abaixo de CaixaDeMensagem) e selecione CancelarEvento

    Sua macro deve se parecer com a macro a seguir, embora os texto nos argumentos possam ser diferentes:

    Exemplo de macro que cancela uma operação de impressão

  10. Na guia Design, no grupo Fechar, clique em Salvar como e, em seguida, use a caixa de diálogo Salvar como para dê um nome para a macro.

  11. Feche a macro. Se uma mensagem de alerta aparecer e perguntar se você deseja salvar as alterações na macro e na propriedade do relatório, clique em Sim e prossiga para as próximas etapas para testá-la.

Teste a macro

  • No Painel de navegação, clique com o botão direito do mouse no relatório que contém a macro e clique em Imprimir. Dependendo das opções escolhidas, uma mensagem de alerta semelhante à mensagem abaixo deve aparecer:

    Caixa de mensagem que aparece quando o relatório não contém registros

    Quando você clica em OK para fechar a mensagem, a ação Cancelarevento cancela a operação de impressão. Como você não especificou nenhum outro evento (como abrir o relatório para visualização), o relatório é fechado.

Início da página

Usar código VBA para cancelar impressão

O código VBA descrito aqui trabalha de modo muito parecido com a macro descrita na seção anterior — ele exibe uma mensagem de alerta quando você abre um relatório em branco e cancela a operação de impressão quando você fecha a mensagem de alerta.

Adicionar código VBA

  1. No Painel de navegação, clique com o botão direito do mouse no relatório que você deseja alterar e clique em Modo Design.

    Observação : Para concluir esse procedimento usar um relatório que não contém registros.

  2. Na guia Design, no grupo Mostrar/Ocultar, clique em Folha de Propriedades.

    -ou-

    Clique duas vezes na caixa que aparece no canto superior esquerdo ou direito do relatório, dependendo das configurações regionais e de idioma.

  3. Clique na guia evento e, na caixa de propriedade Nenhum dado, clique em Botão Construtor .

    A caixa de diálogo Escolher Construtor aparecerá.

  4. Clique em Construtor de códigos e, em seguida, clique em OK.

    O editor do Visual Basic inicia e exibe um procedimento de evento em branco.

  5. Digite o código a seguir no Editor do Visual Basic de modo que o procedimento Report_NoData tenha exatamente esta aparência quando você tiver terminado:

    Private Sub Report_NoData (Cancel As Integer)
    MsgBox "There are no records to report", vbExclamation, "No Records"
    Cancel = True
    End Sub
  6. Quando tiver terminado, clique em arquivo e, em seguida, clique em Salvar.

  7. Clique em arquivo e, em seguida, clique em Fechar e retornar ao Microsoft Office Access.

  8. Feche o relatório aberto e, em seguida, clique em Sim para confirmar a gravação.

  9. No Painel de navegação, clique com o botão direito do mouse no relatório que você acabou de alterar e clique em Imprimir. Você verá uma mensagem como a que segue:

Caixa de mensagem que aparece quando o relatório não contém registros

O procedimento Report_NoData usa a função CaixaDeMensagem para exibir a mensagem Não há registros. e um botão OK. Quando você clica em OK, a linha "Cancel=True" do procedimento instrui o Access para cancelar o relatório. Cancelar é um argumento que é passado automaticamente para o procedimento de eventos e é sempre verificado pelo Access quando o procedimento de evento é concluído.

Início da página

Observação : Aviso de Isenção de Tradução Automática: Este artigo foi traduzido por computador, sem intervenção humana. A Microsoft oferece essas traduções automáticas para ajudar as pessoas que não falam inglês a aproveitar os textos escritos sobre produtos, serviços e tecnologias da Microsoft. Como este artigo foi traduzido automaticamente, é possível que contenha erros de vocabulário, sintaxe ou gramática.

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Office Insider

Essas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×