Partilhar via


Evento Report.NoData (Access)

O evento NoData ocorre depois que o Microsoft Access formata um relatório para impressão que não contém dados (o relatório está acoplado a um recordset vazio), mas antes do relatório é impresso. Utilize este evento para cancelar a impressão de um relatório em branco.

Sintaxe

expressão. NoData (Cancelar)

expressão Uma variável que representa um objeto Relatório .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Cancel Obrigatório Integer A configuração determina se o relatório deve ser impresso. Definir o argumento Cancelar como Verdadeiro (1) impede a impressão do relatório. Também é possível usar o método CancelEvent do objeto DoCmd para cancelar a impressão do relatório.

Comentários

Para executar um procedimento de macro ou evento quando este evento ocorre, defina a propriedade OnNoData para o nome da macro ou para [Procedimento de Evento].

Se o relatório não estiver vinculado a uma tabela ou consulta (utilizando a propriedade OrigemDosRegistos do relatório), o evento NoData não ocorre.

Este evento ocorre após os eventos Formatar do relatório, mas antes do primeiro evento Imprimir .

Esse evento não ocorrerá para sub-relatórios. Se quiser ocultar controlos num sub-relatório quando o sub-relatório não tem dados, para que os controlos não sejam impressos neste caso, pode utilizar a propriedade HasData numa macro ou procedimento de evento que é executado quando o evento Formatar ou Imprimir ocorre.

O evento NoData ocorre antes do evento da primeira Página do relatório.

Exemplo

O exemplo a seguir mostra como cancelar a impressão de um relatório quando ele não contiver dados. Uma caixa de mensagem também é exibida informando ao usuário que a impressão foi cancelada.

Para testar esse exemplo, adicione o seguinte procedimento de evento a um relatório. Tente executar o relatório quando ele não contiver dados.

Private Sub Report_NoData(Cancel As Integer) 
    MsgBox "The report has no data." & _ 
         chr(13) & "Printing is canceled. " & _ 
         chr(13) & "Check the data source for the " & _ 
         chr(13) & "report. Make sure you entered " & _ 
         chr(13) & "the correct criteria (for " & _ 
         chr(13) & "example, a valid range of " & _ 
         chr(13) & "dates),." vbOKOnly + vbInformation 
    Cancel = True 
End Sub 

O exemplo seguinte mostra como utilizar o evento NoData de um relatório para impedir a abertura do relatório quando não existem dados a apresentar.

Private Sub Report_NoData(Cancel As Integer)

    'Add code here that will be executed if no data
    'was returned by the Report's RecordSource
    MsgBox "No customers ordered this product this month. " & _
        "The report will now close."
    Cancel = True

End Sub

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.