Événement Report.NoData (Access)

L'événement NoData survient après que Microsoft Access ne formate un rapport pour l'impression qui ne comporte aucune donnée (l'état est lié à un jeu d'enregistrements vide), mais avant l'impression. Utilisez cet événement pour annuler l’impression d’un rapport vide.

Syntaxe

expression. NoData (Cancel)

Expression Variable qui représente un objet Report .

Parameters

Nom Requis/Facultatif Type de données Description
Cancel Obligatoire Integer La valeur de cet argument détermine s'il faut imprimer l'état. La définition de l’argument Cancel sur True (1) empêche l’impression du rapport. Vous pouvez aussi utiliser la méthode CancelEvent de l'objet DoCmd pour annuler l'impression de l'état.

Remarques

Pour exécuter une macro ou une procédure événementielle lorsque cet événement se produit, définissez la propriété OnNoData sur le nom de la macro ou sur [Procédure événementielle].

Si le rapport n’est pas lié à une table ou à une requête (à l’aide de la propriété RecordSource de l’état), l’événement NoData ne se produit pas.

Cet événement se produit après les événements De format pour le rapport, mais avant le premier événement Print .

Cet événement ne se produit pas pour les sous-états. Si vous souhaitez masquer les contrôles d’un sous-état lorsque celui-ci ne contient pas de données, afin que les contrôles ne s’impriment pas dans ce cas, vous pouvez utiliser la propriété HasData dans une macro ou une procédure événementielle qui s’exécute lorsque l’événement Format ou Print se produit.

L’événement NoData se produit avant le premier événement Page du rapport.

Exemple

L'exemple suivant montre comment annuler l'impression d'un état quand il n'a pas de données. Une zone de message s'affiche aussi pour avertir l'utilisateur de l'annulation de l'impression.

Pour essayer cet exemple, ajoutez à l'état la procédure événementielle ci-dessous. Essayez d'exécuter l'état quand il ne contient pas de données.

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 

L’exemple suivant montre comment utiliser l’événement NoData d’un rapport pour empêcher l’ouverture du rapport lorsqu’il n’y a pas de données à afficher.

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

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.