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 aucun enregistrement. Pour résoudre ce problème, vous pouvez utiliser une macro ou le code Microsoft Visual Basic pour applications (VBA) pour détecter l'absence d'enregistrements dans un État et 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

Il est possible que vous souhaitiez annuler l'impression d'un État s'il ne contient aucun enregistrement. Par exemple, si vous commencez à vendre un nouveau produit, il est possible qu'il y ait un certain temps pour lequel vous n'avez pas encore enregistré de ventes. Par conséquent, il est préférable que certains de vos rapports ne contiennent pas d'enregistrements détaillés, et que les fonctions d'agrégation, telles que la fonction NB , n'aient aucune valeur à 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 pouvez ajouter la macro ou le code VBA à l'état sur aucuneprocédure d'événement data . Access déclenche l'événement sur aucun données chaque fois que vous exécutez un rapport sans enregistrement. La macro et le code VBA décrits dans cet article affichent un message approprié et annulent l'impression du rapport lorsque ce rapport ne contient aucune donnée. Lorsque vous ajoutez une macro ou du code VBA à la procédure événementielle en l'absence de données , 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 l'un des messages d'alerte, la macro ferme également le rapport vide. Lorsque vous ajoutez la macro ou le code VBA au rapport, un rapport vide ne s'ouvre pas lorsque vous essayez de l'afficher en mode État ou en mode 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 dialogue, la macro annule automatiquement l'opération d'impression. Si vous n'incluez pas de message d'alerte, il s'affichera comme s'il ne se passe rien lorsque vous tentez d'imprimer l'État, ce qui entraînera sans doute les utilisateurs de ce rapport.

Créer la macro

  1. Dans le volet de navigation, cliquez avec le bouton droit sur l'état que vous souhaitez 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 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 un générateur s'affiche.

  4. Cliquez sur Générateur de macro, puis cliquez 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 de message , entrez le texte de votre message d'alerte.

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

  7. Vous pouvez également modifier la valeur de l'argument dans la zone bip de Oui à non , puis, dans la liste type , sélectionnez le type d'icône qui doit apparaître dans le message d'alerte.

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

    Par exemple, vous pouvez entrer aucun enregistrement.

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

  10. Dans 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é du 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. Access affiche un message d'alerte selon les options que vous avez choisies.

    Lorsque vous cliquez sur OK pour fermer le message, l'action AnnulerEvénement arrête l'opération d'impression. Étant donné que vous n'avez spécifié aucun autre événement (par exemple, lors de l'ouverture du rapport pour affichage), 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 souhaitez modifier, puis cliquez sur mode création.

    Remarque : Pour effectuer cette procédure, utilisez un rapport ne contenant 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 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 un générateur s'affiche.

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

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

  5. Tapez le code suivant dans Visual Basic Editor de sorte que la procédure Report_NoData apparaisse 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 revenir à 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. Access affiche un message d'alerte selon les options que vous avez choisies.

La procédure Report_NoData utilise la fonction BoîteMsg pour afficher les messages sans aucun enregistrement dans le message et le bouton OK . Lorsque vous cliquez sur OK, la ligne «annuler = vrai» dans la procédure indique à Access d'annuler le rapport. Cancel est un argument qui est transmis automatiquement à la procédure événementielle et 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.

×