Εμφάνιση ενός μόνο μηνύματος
  #3  
Παλιά 28-04-10, 20:40
Το avatar του χρήστη Tasos
Tasos Ο χρήστης Tasos δεν είναι συνδεδεμένος
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Αγαπητέ Μιχάλη καλησπέρα!

Υπάρχουν πολλοί τρόποι να επιτύχεις το ζητούμενο σου, ωστόσο κανένας απ αυτούς
δεν είναι 100% αξιόπιστος από τη στιγμή που η Access όπως και πάρα πολλά άλλα προγράμματα, απλά αποστέλλει την εκτύπωση στον οδηγό προγράμματος του.
Μετά την αποστολή στον εκτυπωτή δεν προσφέρονται πληροφορίες για την κατάσταση εκτύπωσης όπως θα θέλαμε!
Πχ αν εκείνη τη στιγμή μπλοκάρει το χαρτί του εκτυπωτή με αποτέλεσμα να διακοπεί η εκτύπωση, θα το ξέρεις εσύ και ο οδηγός προγράμματος του εκτυπωτή (αν υποστηρίζεται)!

Το να περάσεις την ημερομηνία σε πεδίο του πίνακα για κάθε εγγραφή,
μια πολύ απλή τεχνική είναι να ανοίξεις την έκθεση προγραμματιστικά και κατόπιν να πιστοποιήσεις την επιτυχία της εκτύπωσης με τον εξής τρόπο:

Έστω ότι οπίνακας προέλευσης έχει το όνομα tblCustomers, και περιέχει μεταξύ άλλων τα πεδία:
  • ID (Αυτόματη Αρίθμηση)
  • LastPrinted (Ημερομηνία/ώρα)

Βάλε στην έκθεση τον παρακάτω κώδικα:

Κώδικας:
Private Sub Report_NoData(Cancel As Integer)
    Cancel = True
End Sub

Private Sub Report_Unload(Cancel As Integer)
    If MsgBox("Ήταν ή εκτύπωση επιτυχής;", vbQuestion + vbYesNo) = vbYes Then
        With CurrentDb.OpenRecordset(Me.RecordSource, 2)
            .MoveFirst
            While Not .EOF
                .Edit
                .Fields("LastPrinted") = Date
                .Update
                .MoveNext
            Wend
            .Close
        End With
    End If
End Sub
Καλή συνέχεια

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 28-04-10 στις 22:12.
Απάντηση με παράθεση