Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Κουμπί Κατάργησης Φίλτρου
Καλημέρα σ' όλους. Θα ήθελα την βοήθειά σας στο εξής: Σε μια Φόρμα έχω τα πεδία 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 ΔΕΝ εμφανίζει ΟΛΕΣ τις εγγραφές. Θα μπορούσε να διορθωθεί αυτό; |
#2
| ||||
| ||||
Καλησπέρα Αντί να έχεις όλο αυτό τον κώδικα που μας παρουσιάζεις, γράψε στην ιδιότητα του κουμπιού 'με το κλικ' μόνο αυτό : Me.FilterOn = False Για να δούμε... Με εκτίμηση Νίκος Δ. |
#3
| |||
| |||
Νίκο αυτό σημαίνει οτι δεν θα έχω πλέον το πλεονέκτημα, πατώντας το cmdShowAll, να "κρατά" επιλεγμένη την τελευταία εγγραφή που ήταν επιλεγμένη πριν εφαρμοστεί το Φίλτρο! Κοίτα δεν με πειράζει δηλαδή αλλά αν γίνεται... |
#4
| |||
| |||
Αν βάλω το ακόλουθο είναι λάθος; ....αλλαγή.................................. ................... Err_cmdShowAll_Click: MeFilterOn=False Τελευταία επεξεργασία από το χρήστη Χρήστος : 16-10-16 στις 19:57. |
#5
| ||||
| ||||
Χρήστο, Δεν είχα ιδέα του ιστορικού για το θέμα που μας έχεις παρουσιάσει και απάντησα μονολεκτικά! Άνοιξα το επισυναπτόμενο και δεν μπορώ να κάνω αναπαραγωγή του λάθους που περιγράφεις. ( πάτησα Ζ στο combofiltro και δεν εμφανίζοννται εγγραφές και έτσι πρέπει. Αν πατηθεί το cmdShowAll τότε εμφανίζονται ΟΛΕΣ οι εγγραφές!) Κλείσε τη εφαρμογή και ξεκίνησε πάλι... Νίκος Δ. |
#6
| |||
| |||
Ναι, το επισυναπτόμενο είναι διορθωμένο.... απλά δεν ξέρω αν ευσταθεί σαν λύση! |
#7
| ||||
| ||||
Όχι ! Θα σε απαντήσει ο Τάσος. Καληνύχτα από μένα. Νίκος Δ. |
#8
| ||||
| ||||
Καλησπέρα Χρήστο! Είναι καλύτερο να αποφεύγομε τα λάθη του κώδικα αντί να τα προκαλούμε προκειμένου να επιτύχουμε το σκοπό μας. Όταν η φιλτραρισμένη φόρμα δεν έχει εγγραφές, η γραμμή: RecID = Nz(Me.ProiontaID) θα προκαλέσει σφάλμα αφού το πεδίο ProiontaID δεν υπάρχει καν στη φόρμα. Τροποποιούμε λοιπόν τον κώδικα έτσι: Κώδικας: Private Sub cmdShowAll_Click() On Error GoTo Err_cmdShowAll_Click Dim RecID As Long Me.txtSearch = vbNullString Me.combofiltro = vbNullString If Me.Recordset.Clone.RecordCount Then RecID = Nz(Me.ProiontaID) End If Me.FilterOn = False Me.Filter = vbNullString If RecID > 0 Then With Me.Recordset.Clone .FindFirst ("ProiontaID=" & RecID) If Not .NoMatch Then Me.Bookmark = .Bookmark End With End If Exit_cmdShowAll_Click: Exit Sub Err_cmdShowAll_Click: Resume Exit_cmdShowAll_Click End Sub Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#9
| |||
| |||
Καληνύχτα Νίκο
|
#10
| |||
| |||
Τάσο είσαι ιδιαίτερα κατατοπιστικός. Ευχαριστώ πολύ για την πολύτιμη βοήθεια. |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[Μορφοποίηση] Χρωματισμός Φίλτρου | xristos | Excel - Ερωτήσεις / Απαντήσεις | 0 | 17-02-16 19:23 |
[ Φόρμες ] Κουμπί φιλτρου | gmax | Access - Ερωτήσεις / Απαντήσεις | 3 | 06-10-12 15:08 |
[Γενικά] Αντιγραφή επιλογών φίλτρου | PANIK | Excel - Ερωτήσεις / Απαντήσεις | 1 | 16-04-12 20:19 |
[ Ερωτήματα ] Χρήση φίλτρου | mdragon | Access - Ερωτήσεις / Απαντήσεις | 2 | 02-11-10 18:00 |
Εφαρμογή φίλτρου σε φόρμα | stavros2244 | Access - Ερωτήσεις / Απαντήσεις | 4 | 09-04-10 08:47 |
Η ώρα είναι 07:32.