Μετάβαση στο κύριο περιεχόμενο
Office

Ακύρωση εκτύπωσης μιας έκθεσης, αν δεν περιέχει εγγραφές

Σημείωση: Θέλουμε να σας παρέχουμε το πιο πρόσφατο περιεχόμενο βοήθειας στη γλώσσα σας όσο πιο σύντομα γίνεται. Αυτή η σελίδα έχει μεταφραστεί μέσω αυτοματοποιημένης διαδικασίας και ενδεχομένως να περιέχει γραμματικά λάθη και ανακρίβειες. Ο σκοπός μας είναι αυτό το περιεχόμενο να σας φανεί χρήσιμο. Μπορείτε να μας ενημερώσετε στο κάτω μέρος αυτής της σελίδας εάν οι πληροφορίες σάς φάνηκαν χρήσιμες; Εδώ θα βρείτε το άρθρο στα Αγγλικά για να το συμβουλεύεστε εύκολα.

Από προεπιλογή, μπορείτε να εκτυπώσετε αναφορές που δεν περιέχουν εγγραφές. Για να επιλύσετε αυτό το πρόβλημα, μπορείτε να χρησιμοποιήσετε μια μακροεντολή ή κώδικα της Microsoft Visual Basic for Applications (VBA) για να εντοπίσετε την απουσία εγγραφών σε μια αναφορά και, στη συνέχεια, να ακυρώσετε τη λειτουργία εκτύπωσης. Τα βήματα σε αυτό το άρθρο εξηγούν τον τρόπο με τον οποίο μπορείτε να χρησιμοποιήσετε και τις δύο τεχνικές.

Τι θέλετε να κάνετε;

Χρήση μακροεντολής για την ακύρωση της εκτύπωσης

Χρήση κώδικα VBA για την ακύρωση της εκτύπωσης

Πιθανώς θέλετε να ακυρώσετε την εκτύπωση μιας αναφοράς όταν δεν περιέχει εγγραφές. Για παράδειγμα, εάν αρχίζετε να πωλείτε ένα νέο προϊόν, είναι πιθανό να υπάρχει χρονικό διάστημα όπου δεν έχετε ακόμη καταχωρήσει καμία πώληση. Επομένως, θα πρέπει να λάβετε υπόψη σας την πιθανότητα ορισμένες από τις αναφορές σας να μην περιέχουν λεπτομέρειες και ότι οι συναρτήσεις συγκεντρωτικών αποτελεσμάτων, όπως η συνάρτηση Count , ενδέχεται να μην έχουν καμία καταμέτρηση. Για να χειριστείτε μια τέτοια εμφάνιση με χάρη, μπορείτε να δημιουργήσετε μια μακροεντολή που ακυρώνει την εργασία εκτύπωσης. Μπορείτε επίσης να προσθέσετε μερικές γραμμές του προσεκτικά τοποθετημένου κώδικα VBA για να κάνετε το ίδιο πράγμα. Η VBA είναι η γλώσσα προγραμματισμού που χρησιμοποιεί το Access.

Μπορείτε να προσθέσετε τη μακροεντολή ή τον κώδικα VBA στη διαδικασία συμβάντος DATA στη έκθεση. το Access ενεργοποιεί το συμβάν on not Data κάθε φορά που εκτελείτε μια αναφορά που δεν έχει εγγραφές. Η μακροεντολή και ο κώδικας VBA που περιγράφονται σε αυτό το άρθρο εμφανίζουν ένα κατάλληλο μήνυμα και ακυρώνουν την εκτύπωση της αναφοράς, όταν αυτή η αναφορά δεν περιέχει δεδομένα. Όταν προσθέτετε μια μακροεντολή ή κώδικα VBA στη διαδικασία συμβάντος χωρίς δεδομένα , η μακροεντολή ή ο κώδικας VBA εκτελείται κάθε φορά που ανοίγετε μια αναφορά που δεν περιέχει εγγραφές. Όταν κάνετε κλικ στο κουμπί OK για να κλείσετε ένα μήνυμα ειδοποίησης, η μακροεντολή κλείνει επίσης την κενή αναφορά. Όταν προσθέτετε είτε τη μακροεντολή είτε τον κώδικα VBA στην αναφορά, μια κενή αναφορά δεν ανοίγει όταν προσπαθείτε να την εμφανίσετε σε προβολή έκθεσης ή προβολή διάταξης — αλλά μπορείτε να ανοίξετε την αναφορά σε προβολή σχεδίασης.

Χρήση μακροεντολής για την ακύρωση της εκτύπωσης

Η μακροεντολή που περιγράφεται σε αυτή την ενότητα εμφανίζει ένα μήνυμα ειδοποίησης όταν προσπαθείτε να εκτυπώσετε μια κενή αναφορά. Όταν κάνετε κλικ στο κουμπί OK για να κλείσετε το πλαίσιο μηνύματος, η μακροεντολή ακυρώνει αυτόματα τη λειτουργία εκτύπωσης. Εάν δεν συμπεριλάβετε ένα μήνυμα ειδοποίησης, θα εμφανίζεται σαν να μην συμβαίνει τίποτα όταν προσπαθείτε να εκτυπώσετε την αναφορά — κάτι που πιθανώς θα προκαλέσει σύγχυση στους χρήστες της αναφοράς.

Δημιουργία της μακροεντολής

  1. Στο παράθυρο περιήγησης, κάντε δεξί κλικ στην αναφορά που θέλετε να αλλάξετε και κάντε κλικ στην επιλογή Προβολή σχεδίασης.

  2. Στην καρτέλα Σχεδίαση, στην ομάδα Εμφάνιση/Απόκρυψη, κάντε κλικ στην επιλογή Φύλλο ιδιοτήτων.

    -ή-

    Κάντε διπλό κλικ στο πλαίσιο που βρίσκεται στην επάνω αριστερή ή δεξιά γωνία της αναφοράς, ανάλογα με τις τοπικές ρυθμίσεις και τις ρυθμίσεις γλώσσας.

  3. Κάντε κλικ στην καρτέλα συμβάν και, στο πλαίσιο ιδιότητα χωρίς δεδομένα , κάντε κλικ στην επιλογή Κουμπί "Δόμηση" .

    Εμφανίζεται το παράθυρο διαλόγου Επιλογή δόμησης .

  4. Επιλέξτε λειτουργία δόμησης μακροεντολώνκαι, στη συνέχεια, κάντε κλικ στο κουμπί OK.

    Το πρόγραμμα σχεδίασης μακροεντολών ξεκινά και εμφανίζει μια κενή μακροεντολή.

  5. Στην αναπτυσσόμενη λίστα ενεργειών μακροεντολών στο παράθυρο "Σχεδίαση μακροεντολής", επιλέξτε MessageBox από τη λίστα.

  6. στο πλαίσιο μήνυμα , πληκτρολογήστε το κείμενο για το μήνυμα ειδοποίησης.

    Για παράδειγμα, μπορείτε να εισαγάγετε τα εξής: δεν υπάρχουν εγγραφές προς αναφορά.

  7. Προαιρετικά, αλλάξτε την τιμή του ορίσματος στο πλαίσιο ηχητικό σήμα από Ναι σε Όχι και, στη λίστα τύπος , επιλέξτε τον τύπο του εικονιδίου που θέλετε να εμφανίζεται στο μήνυμα ειδοποίησης.

  8. Στο πλαίσιο Τίτλος , πληκτρολογήστε τον τίτλο για το μήνυμα ειδοποίησης.

    Για παράδειγμα, δεν μπορείτε να εισαγάγετε εγγραφές.

  9. Επιλέξτε την αναπτυσσόμενη λίστα των ενεργειών μακροεντολής κάτω από την ενέργεια MessageBox και, στη συνέχεια, επιλέξτε CancelEvent.

  10. Στην καρτέλα Σχεδίαση , στην ομάδα Κλείσιμο , κάντε κλικ στην επιλογή Αποθήκευση.

  11. Στην καρτέλα Σχεδίαση, στην ομάδα Κλείσιμο, κάντε κλικ στην επιλογή Κλείσιμο. Εάν εμφανιστεί ένα μήνυμα ειδοποίησης και ερωτηθείτε εάν θέλετε να αποθηκεύσετε τις αλλαγές στη μακροεντολή και την ιδιότητα Report, κάντε κλικ στην επιλογή Ναι, κλείστε την αναφορά σας, αποθηκεύστε τις αλλαγές σας αν σας ζητηθεί και συνεχίστε με τα επόμενα βήματα για να τη δοκιμάσετε.

Δοκιμή της μακροεντολής σας

  • Στο παράθυρο περιήγησης, κάντε δεξί κλικ στην αναφορά που περιέχει τη μακροεντολή και, στη συνέχεια, κάντε κλικ στην επιλογή Εκτύπωση. Ανάλογα με τις επιλογές που έχετε επιλέξει, η Access εμφανίζει ένα μήνυμα ειδοποίησης.

    Όταν κάνετε κλικ στο κουμπί OK για να κλείσετε το μήνυμα, η ενέργεια CancelEvent σταματά τη λειτουργία εκτύπωσης. Επειδή δεν καθορίσατε κανένα άλλο συμβάν (όπως το άνοιγμα της αναφοράς για προβολή), η αναφορά κλείνει.

Αρχή της σελίδας

Χρήση κώδικα VBA για την ακύρωση της εκτύπωσης

Ο κώδικας VBA που περιγράφεται εδώ λειτουργεί πολύ όπως η μακροεντολή που περιγράφεται στην προηγούμενη ενότητα — εμφανίζει ένα μήνυμα ειδοποίησης όταν ανοίγετε μια κενή αναφορά και, στη συνέχεια, ακυρώνει τη λειτουργία εκτύπωσης όταν κλείνετε το μήνυμα ειδοποίησης.

Προσθήκη κώδικα VBA

  1. Στο παράθυρο περιήγησης, κάντε δεξί κλικ στην αναφορά που θέλετε να αλλάξετε και κάντε κλικ στην επιλογή Προβολή σχεδίασης.

    Σημείωση: Για να ολοκληρώσετε αυτή τη διαδικασία, χρησιμοποιήστε μια αναφορά που δεν περιέχει εγγραφές.

  2. Στην καρτέλα Σχεδίαση, στην ομάδα Εμφάνιση/Απόκρυψη, κάντε κλικ στην επιλογή Φύλλο ιδιοτήτων.

    -ή-

    Κάντε διπλό κλικ στο πλαίσιο που βρίσκεται στην επάνω αριστερή ή δεξιά γωνία της αναφοράς, ανάλογα με τις τοπικές ρυθμίσεις και τις ρυθμίσεις γλώσσας.

  3. Κάντε κλικ στην καρτέλα συμβάν και, στο πλαίσιο ιδιότητα χωρίς δεδομένα , κάντε κλικ στην επιλογή Κουμπί "Δόμηση" .

    Εμφανίζεται το παράθυρο διαλόγου Επιλογή δόμησης .

  4. Επιλέξτε Δόμηση κώδικακαι, στη συνέχεια, κάντε κλικ στο κουμπί OK.

    Η επεξεργασία της Visual Basic ξεκινά και εμφανίζει μια κενή διαδικασία συμβάντος.

  5. Πληκτρολογήστε τον ακόλουθο κώδικα στην επεξεργασία της Visual Basic, έτσι ώστε η διαδικασία Report_NoData να εμφανίζεται ακριβώς όπως αυτή όταν τελειώσετε:

    Private Sub Report_NoData (Cancel As Integer)
    MsgBox "There are no records to report", vbExclamation, "No Records"
    Cancel = True
    End Sub
  6. Όταν ολοκληρώσετε τη διαδικασία, κάντε κλικ στην επιλογή αρχείοκαι, στη συνέχεια, κάντε κλικ στην επιλογή Αποθήκευση.

  7. Κάντε κλικ στην επιλογή αρχείοκαι, στη συνέχεια, κάντε κλικ στην επιλογή Κλείσιμο και επιστροφή στη Microsoft Access.

  8. Κλείστε την ανοιχτή αναφορά και, στη συνέχεια, κάντε κλικ στο κουμπί Ναι για να επιβεβαιώσετε την αποθήκευση.

  9. Στο παράθυρο περιήγησης, κάντε δεξί κλικ στην αναφορά που μόλις αλλάξατε και κάντε κλικ στην επιλογή Εκτύπωση. Ανάλογα με τις επιλογές που έχετε επιλέξει, η Access εμφανίζει ένα μήνυμα ειδοποίησης.

Η διαδικασία Report_NoData χρησιμοποιεί τη συνάρτηση πλαίσιο μηνύματος για να εμφανίσει το μήνυμα " δεν υπάρχουν εγγραφές για αναφορά " και το κουμπί "OK ". Όταν κάνετε κλικ στο κουμπί OK, η γραμμή "Άκυρο = True" στη διαδικασία καθοδηγεί την Access για να ακυρώσει την αναφορά. Το όρισμα άκυρο είναι ένα όρισμα το οποίο μεταβιβάζεται αυτόματα στη διαδικασία συμβάντος και ελέγχεται πάντα από την Access όταν ολοκληρωθεί η διαδικασία συμβάντος.

Αρχή της σελίδας

Αναπτύξτε τις δεξιότητές σας στο Office
Εξερευνήστε το περιεχόμενο της εκπαίδευσης
Αποκτήστε πρώτοι τις νέες δυνατότητες
Γίνετε μέλος του Office Insider

Σας βοήθησαν αυτές οι πληροφορίες;

Σας ευχαριστούμε για τα σχόλιά σας!

Σας ευχαριστούμε για τα σχόλιά σας! Φαίνεται ότι μπορεί να είναι χρήσιμο να συνδεθείτε με έναν από τους συνεργάτες υποστήριξης του Office.

×