![]() |
Κουμπί Κατάργησης Φίλτρου Καλημέρα σ' όλους. Θα ήθελα την βοήθειά σας στο εξής: Σε μια Φόρμα έχω τα πεδία ProiontaID, Proion Η εμφάνιση των εγγραφών ελέγχεται από ένα Combobox (combofiltro) που λιτουργεί ως Φίλτρο. Όλες οι εγγραφές εμφανίζονται όταν πατάμε το κουμπί cmdShowAll, στο οποίο αντιστοιχίζεται ο παρακάτω κώδικας: On Error GoTo Err_cmdShowAll_Click Dim RecID As Long Me.combofiltro = vbNullString RecID = Nz(Me.ProiontaID) Me.FilterOn = False Me.Filter = vbNullString With Me.Recordset.Clone .FindFirst ("ProiontaID=" & RecID) If Not .NoMatch Then Me.Bookmark = .Bookmark End With Exit_cmdShowAll_Click: Exit Sub Err_cmdShowAll_Click: MsgBox Err.Description Resume Exit_cmdShowAll_Click End Sub Το πρόβλημα είναι το εξής : ΟΤΑΝ χρησιμοποιώντας το φίλτρο ΔΕΝ εμφανίζεται καμμιά εγγραφή τότε το πάτημα του cmdShowAll ΔΕΝ εμφανίζει ΟΛΕΣ τις εγγραφές. Θα μπορούσε να διορθωθεί αυτό; |
Καλησπέρα Αντί να έχεις όλο αυτό τον κώδικα που μας παρουσιάζεις, γράψε στην ιδιότητα του κουμπιού 'με το κλικ' μόνο αυτό : Me.FilterOn = False Για να δούμε... Με εκτίμηση Νίκος Δ. |
Νίκο αυτό σημαίνει οτι δεν θα έχω πλέον το πλεονέκτημα, πατώντας το cmdShowAll, να "κρατά" επιλεγμένη την τελευταία εγγραφή που ήταν επιλεγμένη πριν εφαρμοστεί το Φίλτρο! Κοίτα δεν με πειράζει δηλαδή αλλά αν γίνεται... |
Αν βάλω το ακόλουθο είναι λάθος; ....αλλαγή.................................. ................... Err_cmdShowAll_Click: MeFilterOn=False |
Χρήστο, Δεν είχα ιδέα του ιστορικού για το θέμα που μας έχεις παρουσιάσει και απάντησα μονολεκτικά! Άνοιξα το επισυναπτόμενο και δεν μπορώ να κάνω αναπαραγωγή του λάθους που περιγράφεις. ( πάτησα Ζ στο combofiltro και δεν εμφανίζοννται εγγραφές και έτσι πρέπει. Αν πατηθεί το cmdShowAll τότε εμφανίζονται ΟΛΕΣ οι εγγραφές!) Κλείσε τη εφαρμογή και ξεκίνησε πάλι... Νίκος Δ. |
Ναι, το επισυναπτόμενο είναι διορθωμένο.... απλά δεν ξέρω αν ευσταθεί σαν λύση! |
Όχι ! Θα σε απαντήσει ο Τάσος. Καληνύχτα από μένα. Νίκος Δ. |
Καλησπέρα Χρήστο! Είναι καλύτερο να αποφεύγομε τα λάθη του κώδικα αντί να τα προκαλούμε προκειμένου να επιτύχουμε το σκοπό μας. Όταν η φιλτραρισμένη φόρμα δεν έχει εγγραφές, η γραμμή: RecID = Nz(Me.ProiontaID) θα προκαλέσει σφάλμα αφού το πεδίο ProiontaID δεν υπάρχει καν στη φόρμα. Τροποποιούμε λοιπόν τον κώδικα έτσι: Κώδικας: Private Sub cmdShowAll_Click()Τάσος |
Καληνύχτα Νίκο |
Τάσο είσαι ιδιαίτερα κατατοπιστικός. Ευχαριστώ πολύ για την πολύτιμη βοήθεια. |
| Η ώρα είναι 04:49. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.