Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   [ Εκθέσεις ] Όταν δεν υπάρχουν δεδομένα... (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/418-otan-den-yparxoyn-dedomena.html)

Meteora 16-02-10 18:29

Όταν δεν υπάρχουν δεδομένα...
 
Καλησπέρα ...
Σε μια έκθεση, τα κριτήρια που έχουμε, είναι δυνατόν να 'στραγγαλίζουν' όλα τα δεδομένα και έτσι η έκθεση να εμφανίζεται στην οθόνη μας ή στον εκτυπωτή χωρίς στοιχεία. Αυτή την εικόνα θέλω να απαλείψω !
Ο κώδικας που ακολουθεί δίνει το μήνυμα -όταν δεν υπάρχουν δεδομένα ...
Private Sub Report_NoData(Cancel As Integer)
MsgBox "Δεν υπάρχουν δεδομένα !"
End Sub
...αλλά μετά το ok εμφανίζει την άδεια έκθεση.
Μπορούμε να κάνουμε κάτι εδώ ;
Σχόλιο : Μέχρι τώρα δεν έχω χρησιμοποιήσει το συμβάν NoData, αλλά με μια Dcount(...) ελέγχω αν έχω ή όχι εγγραφές προς εκτύπωση και εφόσον έχω πάω στην εντολή είτε εμφάνισης είτε εκτύπωσης.
Παιδιά σας ευχαριστώ
Φιλικά / Νίκος

Tasos 16-02-10 18:43

Καλησπέρα φίλε μου Νίκο!

Private Sub Report_NoData(Cancel As Integer)
MsgBox "Δεν υπάρχουν δεδομένα !"
End Sub

Η όρισμα "Cancel As Integer" μας παρέχει τη δυνατότητα να ακυρώσουμε τη διαδικασία όπου περιέχεται.

Private Sub Report_NoData(Cancel As Integer)
Cancel = True
MsgBox "Δεν υπάρχουν δεδομένα !" ',....
End Sub

Τα λέμε

Τάσος

editolis 16-02-10 18:44

Private Sub Report_NoData(Cancel As Integer)
MsgBox "Δεν υπάρχουν δεδομένα!", vbinformation, "Microsoft Access"
cancel = -1
End Sub

Τασο με προλαβες...

Τάσος: Η κεκτημένη ταχύτητα βλέπεις:biggrin:

nisgia 17-02-10 14:00

Ως συμπλήρωση των παραπάνω...

Θα πρέπει να να έχουμε υπόψη μας πως η ακύρωση του ανοίγματος μιας έκθεσης
εγείρει ένα σφάλμα χρόνου εκτέλεσης στη διαδικασία που προσπαθεί να την ανοίξει.
Γι' αυτό ο κώδικας χειρισμού αυτού του σφάλματος στη καλούσα διαδικασία είναι απαραίτητος.

Γιάννης

Tasos 19-02-10 08:06

Καλημέρα!

Έχει δίκιο ο Γιάννης.

Σε περιπτώσεις που ανοίγουμε κάποια έκθεση με προγραμματιστικό τρόπο,
πχ. DoCmd.OpenReport, η εφαρμογή δεν εντοπίζει το αντικείμενο της έκθεσης
(φυσικό αφού λόγω ακύρωσης δεν είναι ανοιχτό) κι έτσι εμφανίζει το ανάλογο μήνυμα σφάλματος.

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

Αν κριθεί αναγκαίο ένας τέτοιος κώδικας θα μπορούσε να μετατραπεί όπως το παράδειγμα:

Κώδικας:

Private Sub CmdOpenreport_Click()
    On Error GoTo ErrH
    DoCmd.OpenReport "Report1", acPreview
ExitProc:
    Exit Sub
ErrH:
    If Err = 2103 Then
        MsgBox "No printable Data!", vbInformation, Me.Caption
        Resume ExitProc
    Else
        MsgBox Err.Description, vbExclamation, Me.Caption
    End If
    Resume ExitProc
End Sub

Τάσος

Meteora 19-02-10 14:40

Καλησπέρα ...
Θερμά ευχαριστώ Τόλη, Γιάννη και Τάσο !
:thanks: Καλή συνέχεια απο καρδιάς. Συνέχεια σε κάθε τομέα που συμμετέχει στο 'μόρφωμα' που λέμε ζωή...(πνεύμα, υγεία, εργασία, οικογένεια,φιλία,...)
Φιλικά / Νίκος


Η ώρα είναι 21:17.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2