Annuler l'impression d'un état s'il ne contient aucun enregistrement

Remarque : Nous faisons de notre mieux pour vous fournir le contenu d’aide le plus récent aussi rapidement que possible dans votre langue. Cette page a été traduite automatiquement et peut donc contenir des erreurs grammaticales ou des imprécisions. Notre objectif est de faire en sorte que ce contenu vous soit utile. Pouvez-vous nous indiquer en bas de page si ces informations vous ont aidé ? Voici l’article en anglais à des fins de référence aisée.

Par défaut, vous pouvez imprimer des rapports qui ne contiennent pas d'enregistrements. Pour résoudre ce problème, vous pouvez utiliser une macro ou du code Microsoft Visual Basic pour applications (VBA) pour détecter l'absence d'enregistrements dans un rapport, puis annuler l'opération d'impression. Les étapes décrites dans cet article expliquent comment utiliser les deux techniques.

Que voulez-vous faire ?

Utiliser une macro pour annuler l'impression

Utiliser du code VBA pour annuler l'impression

Vous souhaitez probablement annuler l'impression d'un rapport lorsqu'il ne contient aucun enregistrement. Par exemple, si vous commencez à vendre un nouveau produit, il est probable qu'il y ait une période pendant laquelle vous n'avez pas encore enregistré de ventes. Par conséquent, vous devez envisager la possibilité que certains de vos rapports ne contiennent pas d'enregistrements de détail et que les fonctions d'agrégation, comme la fonction NB , n'aient rien à compter. Pour gérer une telle situation de manière appropriée, vous pouvez créer une macro qui annule le travail d'impression. Vous pouvez également ajouter quelques lignes de code VBA soigneusement placé pour faire la même chose. VBA est le langage de programmation utilisé par Access.

Vous ajoutez la macro ou le code VBA à la procédure d'événement de l'État sans data . Access déclenche l'événement sur aucun données chaque fois que vous exécutez un rapport sans enregistrements. La macro et le code VBA décrits dans cet article affichent un message approprié et annulent l'impression du rapport quand ce rapport ne contient aucune donnée. Lorsque vous ajoutez une macro ou du code VBA à la procédure événementielle sur aucune donnée , la macro ou le code VBA s'exécute chaque fois que vous ouvrez un État qui ne contient aucun enregistrement. Lorsque vous cliquez sur OK pour fermer un message d'alerte, la macro ferme également le rapport vide. Lorsque vous ajoutez la macro ou le code VBA au rapport, un rapport vierge ne s'ouvre pas lorsque vous essayez de l'afficher en mode État ou page, mais vous pouvez ouvrir l'État en mode création.

Utiliser une macro pour annuler l'impression

La macro décrite dans cette section affiche un message d'alerte lorsque vous essayez d'imprimer un état vide. Lorsque vous cliquez sur OK pour fermer la boîte de message, la macro annule automatiquement l'opération d'impression. Si vous n'incluez pas de message d'alerte, il semblerait que rien ne se passe lorsque vous tentez d'imprimer le rapport, ce qui peut probablement confondre les utilisateurs du rapport.

Créer la macro

  1. Dans le volet de navigation, cliquez avec le bouton droit sur l'état que vous voulez modifier, puis cliquez sur mode création.

  2. Sous l’onglet Création, dans le groupe Afficher/Masquer, cliquez sur Feuille de propriétés.

    -ou-

    Double-cliquez sur la zone située dans le coin supérieur gauche ou droit du rapport, en fonction de vos paramètres régionaux et linguistiques.

  3. Cliquez sur l'onglet événement , puis, dans la zone de propriété sur aucune donnée , cliquez sur Bouton Générateur .

    La boîte de dialogue Choisir générateur s'affiche.

  4. Cliquez sur Générateur de macro, puis sur OK.

    Le concepteur de macro démarre et affiche une macro vide.

  5. Dans la liste déroulante des actions de macro dans la fenêtre de création de macro, sélectionnez MessageBox dans la liste.

  6. dans la zone message , tapez le texte de votre message d'alerte.

    Par exemple, vous pouvez entrer ce qui suit: il n'y a aucun enregistrement à signaler.

  7. Si vous le souhaitez, modifiez la valeur de l'argument dans la zone bip de Oui à non et, dans la liste type , sélectionnez le type d'icône que vous souhaitez voir apparaître dans le message d'alerte.

  8. Dans la zone titre , tapez le titre de votre message d'alerte.

    Par exemple, vous pouvez ne pasentrer d'enregistrements.

  9. Sélectionnez la liste déroulante des actions de macro sous l'action MessageBox , puis sélectionnez AnnulerEvénement.

  10. Sous l'onglet création , dans le groupe Fermer , cliquez sur Enregistrer.

  11. Sous l’onglet Création, dans le groupe Fermer, cliquez sur Fermer. Si un message d'alerte s'affiche et vous demande si vous voulez enregistrer les modifications apportées à la macro et à la propriété de rapport, cliquez sur Oui, fermer votre rapport, enregistrer vos modifications si vous y êtes invité, puis passez aux étapes suivantes pour le tester.

Tester votre macro

  • Dans le volet de navigation, cliquez avec le bouton droit sur l'État qui contient la macro, puis cliquez sur Imprimer. Selon les options que vous avez choisies, Access affiche un message d'alerte.

    Lorsque vous cliquez sur OK pour fermer le message, l'action AnnulerEvénement arrête l'opération d'impression. Étant donné que vous avez spécifié aucun autre événement (par exemple, ouvrir le rapport pour l'afficher), le rapport se ferme.

Haut de la page

Utiliser du code VBA pour annuler l'impression

Le code VBA décrit ici fonctionne de la même façon que la macro décrite dans la section précédente: il affiche un message d'alerte lorsque vous ouvrez un état vide, puis annule l'opération d'impression lorsque vous fermez le message d'alerte.

Ajouter du code VBA

  1. Dans le volet de navigation, cliquez avec le bouton droit sur l'état que vous voulez modifier, puis cliquez sur mode création.

    Remarque : Pour exécuter cette procédure, utilisez un État qui ne contient aucun enregistrement.

  2. Sous l’onglet Création, dans le groupe Afficher/Masquer, cliquez sur Feuille de propriétés.

    -ou-

    Double-cliquez sur la zone située dans le coin supérieur gauche ou droit du rapport, en fonction de vos paramètres régionaux et linguistiques.

  3. Cliquez sur l'onglet événement , puis, dans la zone de propriété sur aucune donnée , cliquez sur Bouton Générateur .

    La boîte de dialogue Choisir générateur s'affiche.

  4. Cliquez sur Générateur de code, puis sur OK.

    Visual Basic Editor démarre et affiche une procédure d'événement vide.

  5. Tapez le code suivant dans Visual Basic Editor afin que la procédure Report_NoData s'affiche exactement comme suit lorsque vous avez terminé:

    Private Sub Report_NoData (Cancel As Integer)
    MsgBox "There are no records to report", vbExclamation, "No Records"
    Cancel = True
    End Sub
  6. Lorsque vous avez terminé, cliquez sur fichier, puis sur Enregistrer.

  7. Cliquez sur fichier, puis sur Fermer et retourner à Microsoft Access.

  8. Fermez le rapport ouvert, puis cliquez sur Oui pour confirmer l'enregistrement.

  9. Dans le volet de navigation, cliquez avec le bouton droit sur l'état que vous venez de modifier, puis cliquez sur Imprimer. Selon les options que vous avez choisies, Access affiche un message d'alerte.

La procédure Report_NoData utilise la fonction MsgBox pour afficher le message « il n'y a aucun enregistrement à signaler » et un bouton OK . Lorsque vous cliquez sur OK, la ligne «Cancel = true» de la procédure indique à Access d'annuler le rapport. L'argument Cancel est un argument qui est transmis automatiquement à la procédure événementielle et qui est toujours vérifié par Access à la fin de la procédure événementielle.

Haut de la page

Développez vos compétences dans Office
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×