Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   [ Φόρμες ] No data (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/505-no-data.html)

amy 19-03-10 01:54

No data
 
Όταν μία φόρμα, βάσει ενός κριτηρίου, δεν μου δίνει εγγραφές, πως μπορώ στην θέση της υποτιθέμενης πρώτης εγγραφής να εμφανίζω το κείμενο "Δεν υπάρχουν κλπ...."?

-------------

Όταν δεν έχω εγγραφές σε υποφόρμα χρησιμοποιώ την IsError σε ένα πεδίο της για να την κάνω invisible..
πχ
Κώδικας:

If (IsError(Forms!Form1![SubForm1].Form.txtName)) Then
        Forms!Form1![SubForm1].Visible = False
    End If

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

Meteora 19-03-10 06:02

Καλημέρα !
Ανδρέα, χειρίζομαι το ζήτημα που αναφέρεις ως εξής : Μετρώ με την Dcount() το πλήθος των εγγραφών οι οποίες ικανοποιούν την συνθήκη και μετά επιτρέπω ή όχι το άνοιγμα φόρμας.
Φιλικά / Νίκος

nisgia 19-03-10 11:31

1 Συνημμένο(α)
Καλημέρα σε όλους!

Φίλε Ανδρέα, όταν μια δεσμευμένη φόρμα δεν επιστρέφει εγγραφές
τότε η ιδιότητα RecordCount του αντικειμένου Recordset θα είναι μηδέν.

Συνεπώς μπορείς να πεις:
Κώδικας:

    With Forms!Form1![SubForm1].Form
        .Visible = .Recordset.RecordCount > 0
    End With

Αν θέλεις δες και στο απλό παράδειγμα που επισυνάπτω την εφαρμογή των παραπάνω.

Φιλικά,
Γιάννης

amy 19-03-10 15:43

Παράθεση:

Αρχική Δημοσίευση από nisgia (Μήνυμα 2207)
Καλημέρα σε όλους!

Φίλε Ανδρέα, όταν μια δεσμευμένη φόρμα δεν επιστρέφει εγγραφές
τότε η ιδιότητα RecordCount του αντικειμένου Recordset θα είναι μηδέν.

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

amy 19-03-10 15:48

Παράθεση:

Αρχική Δημοσίευση από Meteora (Μήνυμα 2202)
Καλημέρα !
Ανδρέα, χειρίζομαι το ζήτημα που αναφέρεις ως εξής : Μετρώ με την Dcount() το πλήθος των εγγραφών οι οποίες ικανοποιούν την συνθήκη και μετά επιτρέπω ή όχι το άνοιγμα φόρμας.
Φιλικά / Νίκος

Νίκο θα ήθελα να ανοίγει η φόρμα γιατί έχει διάφορα χρειαζούμενα κουμπιά...
Απλά στο details να εμφανίζει το "δεν μπλα μπλα"

nisgia 19-03-10 16:14

Παράθεση:

Αρχική Δημοσίευση από amy (Μήνυμα 2212)
Σωστό κι' αυτό, αλλά Γιάννη αναφέρομαι σε εγγραφές σκέτης κύριας φόρμας...
Την περίπτωση της υποφόρμας την ανέφερα ως παράδειγμα...
Ευχαριστώ

Και αυτό που βλέπεις σε μια υποφόρμα φίλε Ανδρέα, κύρια φόρμα είναι.
Απλά της λείπει το περίγραμμα και τα σχετικά.

Αυτό άλλωστε φαίνεται και από τη δήλωση στο αντικείμενο Form του χειριστηρίου υποφόρμας.
Κώδικας:

    With Forms!Form1![SubForm1].Form
        .Visible = .Recordset.RecordCount > 0
    End With


amy 19-03-10 22:42

1 Συνημμένο(α)
Καλησπέρα Γιάννη και σε όλους τους φίλους του forum....
Ή η απειρία μου με κάνει να μη σε καταλαβαίνω, ή δεν θέτω σωστά το ερώτημά μου...
Στο παράδειγμα που έστειλες, τώρα υπάρχει και η φόρμα frmQuery11...
Αυτό που έχω βάλει ως caption όταν το Recordset.RecordCount είναι 0 θέλω να εμφανίζεται ως κείμενο στο details της φόρμας...

nisgia 21-03-10 13:32

1 Συνημμένο(α)
Καλημέρα σε όλους και όλες!

Φίλε Ανδρέα, το μυστικό για να παραμείνει ορατή η ενότητα λεπτομέρειας μιας δεσμευμένης συνεχόμενης φόρμας
όταν αυτή δεν επιστρέφει εγγραφές, είναι να τη μετατρέψεις σε μη δεσμευμένη.:wink:

Αυτό ακριβώς κάνω και εγώ στο νέο παράδειγμα που επισυνάπτω με τον παρακάτω τρόπο:
Κώδικας:

Private Function ReturnsRecords() As Boolean
    Dim fRetRecs As Boolean
   
    fRetRecs = Me.Recordset.RecordCount > 0
    If Not fRetRecs Then
        Set Me.Recordset = Nothing
        Me.txtYear.SetFocus
    End If
    Me.lblNoData.Visible = Not fRetRecs
    ReturnsRecords = fRetRecs
End Function

Άνοιξε τη μοναδική φόρμα του συνημμένου δίνοντας μια άκυρη τιμή έτους (>2009 ή τίποτα),
απάντησε καταφατικά στο προειδοποιητικό μήνυμα που θα εμφανιστεί
και στη συνέχεια παίξε με το πλαίσιο "Από έτος:" για να δεις τα αποτελέσματα.

Άνοιξε και τον VBE να δεις και τον υπόλοιπο κώδικα της φόρμας.

Ελπίζω αυτή τη φορά να βοηθάω...:dft009:

Φιλικά,
Γιάννης

amy 22-03-10 21:04

Παράθεση:

Αρχική Δημοσίευση από nisgia (Μήνυμα 2225)
Φίλε Ανδρέα, το μυστικό....

Τώρα το έμαθα το μυστικό Γιάννη.. Καλά υπέθεσα ότι η απειρία μου έφταιγε που δε σε καταλάβαινα...
Παράθεση:

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


Η ώρα είναι 15:54.

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


Search Engine Optimization by vBSEO 3.3.2