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

 
 
Microsoft Office Access
Pesquisar
Pesquisar
 
 
 
 
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.

Cancelar a impressão se um relatório não contiver nenhum registro
 

Provavelmente você irá cancelar um relatório quando ele não contiver nenhum registro. Por exemplo, se estiver começando a vender um novo produto, é provável que haja um período (de preferência curto) em que ainda é preciso registrar alguma venda. Portanto, é necessário considerar a possibilidade da inexistência de registros de detalhe para o relatório — e que as funções agregadas, como Contar, talvez não tenham nada para contar. Para lidar com uma ocorrência desse tipo, você pode adicionar algumas linhas de código do Microsoft Visual Basic® for Applications (VBA), cuidadosamente aplicadas ao relatório. O VBA é a linguagem de programação usada pelo Access.

O código VBA é adicionado ao procedimento do evento  (procedimento do evento: um procedimento executado automaticamente em resposta de um evento iniciado pelo usuário ou pelo código de programa, ou acionado pelo sistema.) NenhumDado . O Access dispara o evento (evento: uma ação reconhecida por um objeto, como um clique do mouse ou um pressionamento de tecla, para a qual você define uma resposta. O evento pode ser causado por uma ação do usuário ou uma instrução do Visual Basic, ou pode ser disparado pelo sistema.) NenhumDado sempre que um relatório é executado e nenhum registro é detectado. Você pode colocar no procedimento de evento um código que exibirá uma mensagem adequada e cancelará a impressão do relatório. O código será executado sempre que o relatório for executado e não contiver registros.

Crie o código VBA seguindo estas etapas:

Para abrir o relatório no modo Design  

  1. Na janela Banco de Dados, em Objetos, clique em Relatórios.
  2. Clique no relatório e, em seguida, clique em Design na janela Banco de Dados.

Para editar o procedimento do evento NenhumDado  

  1. No menu Editar, clique em Selecionar Relatório.
  2. No menu Exibir, clique em Propriedades e selecione a guia Evento.
  3. Clique na caixa de propriedade Se Nenhum Dado. Clique no botão de reticências (...) quando ele for exibido.
  4. Quando a caixa de diálogo Escolher Construtor for exibida, clique em Construtor de Código e clique em OK.
  5. Digite o código a seguir no Editor do Visual Basic (Editor do Visual Basic: um ambiente no qual você escreve um novo código e novos procedimentos do Visual Basic for Applications e edita os já existentes. O Editor do Visual Basic contém um conjunto de ferramentas de depuração completo para localizar problemas lógicos, de sintaxe e tempo de execução em seu código.) de forma que o procedimento Report_NenhumDado seja exibido exatamente desta maneira quando você terminar:

    Private Sub Report_NoData(Cancel As Integer)
      MsgBox "Não há registros a serem relatados", vbExclamation, "Nenhum registro"
      Cancel = True
    End Sub

Quando terminar, clique em Salvar no menu Arquivo. Em seguida, no menu Arquivo, clique em Fechar e Voltar para Microsoft Access. Finalmente, feche todas as janelas, exceto a janela Banco de Dados. Agora, quando você executar o relatório e não houver dados, a seguinte mensagem será exibida:

Caixa de mensagem exibida durante o procedimento do evento NenhumDado

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

anúncio