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

Observação: Desejamos fornecer o conteúdo da Ajuda mais recente no seu idioma da forma mais rápida possível. Esta página foi traduzida de forma automatizada e pode conter imprecisões ou erros gramaticais. Nosso objetivo é que este conteúdo seja útil para você. No final da página, deixe sua opinião se estas informações foram úteis para você. Aqui está o artigo em inglês para facilitar a referência.

Por padrão, você pode imprimir relatórios que não contenham registros. Para solucionar esse problema, você pode usar uma macro ou um código do Microsoft Visual Basic for Applications (VBA) para detectar a ausência de registros em um relatório e, em seguida, 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ê deseja 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, provavelmente haverá um período de tempo em que você ainda precisa registrar as vendas. Portanto, você deve considerar a possibilidade de que alguns dos seus relatórios não contenham registros de detalhes e que funções de agregação, como a função cont. contagem , não tenham nada para contar. Para manipular essa ocorrência normalmente, você pode criar uma macro para cancelar o trabalho de impressão. Você também pode adicionar algumas linhas de código VBA cuidadosamente colocadas para fazer a mesma coisa. VBA é a linguagem de programação que o Access usa.

Você adiciona a macro ou o código VBA ao procedimento de evento nota para o relatório. o Access aciona o evento sem dados sempre que você executa um relatório sem registros. A macro e o código VBA descritos neste artigo exibem uma mensagem apropriada e cancelam a impressão do relatório quando esse relatório não contém dados. Quando você adiciona uma macro ou código VBA ao procedimento de evento sem dados , a macro ou o código VBA é executado sempre que você abre um relatório que não contém registros. Quando você clica em OK para fechar uma mensagem de alerta, a macro também fecha o relatório em branco. Quando você adiciona a macro ou o código VBA ao relatório, um relatório em branco não é aberto quando você tenta exibi-lo no modo de exibição relatório ou layout, mas você pode abrir o relatório no modo Design.

Usar uma 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 automaticamente cancela a operação de impressão. Se você não incluir uma mensagem de alerta, ela será exibida como se nada acontecer quando você tentar imprimir o relatório — algo que provavelmente confundirá os usuários do relatório.

Criar 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 no canto superior esquerdo ou direito do relatório, dependendo das suas configurações regionais e de idioma.

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

    A caixa de diálogo escolher Construtor é exibida.

  4. Clique em Construtorde macros e, em seguida, clique em OK.

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

  5. Na lista suspensa de ações de macro na janela design da macro, selecione MessageBox na lista.

  6. na caixa mensagem , digite o texto da sua mensagem de alerta.

    Por exemplo, você pode inserir o seguinte: não há registros a serem reportados.

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

  8. Na caixa título , digite o título da sua mensagem de alerta.

    Por exemplo, você pode digitar sem registros.

  9. Selecione a lista suspensa de ações de macro abaixo da ação MessageBox e escolha CancelarEvento.

  10. Na guia design , no grupo fechar , clique em salvar.

  11. Na guia Design, no grupo Fechar, clique em Fechar. Se uma mensagem de alerta for exibida e perguntar se você deseja salvar as alterações na macro e na propriedade relatório, clique em Sim, feche o relatório, salve as alterações, se solicitado, e prossiga para as próximas etapas para testá-lo.

Testar sua 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 que você escolheu, o Access exibe uma mensagem de alerta.

    Quando você clica em OK para fechar a mensagem, a ação CancelarEvento para a operação de impressão. Como você não especificou nenhum outro evento (por exemplo, abrir o relatório para exibição), o relatório será fechado.

Início da Página

Usar código VBA para cancelar a impressão

O código VBA descrito aqui funciona de forma muito semelhante à macro descrita na seção anterior — ele exibe uma mensagem de alerta quando você abre um relatório em branco e, em seguida, 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 este procedimento, use um relatório que não contenha registros.

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

    -ou-

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

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

    A caixa de diálogo escolher Construtor é exibida.

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

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

  5. Digite o código a seguir no editor do Visual Basic para que o procedimento Report_NoData apareça exatamente assim quando você terminar:

    Private Sub Report_NoData (Cancel As Integer)
    MsgBox "There are no records to report", vbExclamation, "No Records"
    Cancel = True
    End Sub
  6. Quando terminar, clique em arquivoe, em seguida, clique em salvar.

  7. Clique em arquivoe, em seguida, clique em fechar e retornar ao Microsoft 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. Dependendo das opções que você escolheu, o Access exibe uma mensagem de alerta.

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

Início da Página

Expanda suas habilidades no Office
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.

×