Θέμα: Cascading ComboBox

Εμφάνιση ενός μόνο μηνύματος
  #10  
Παλιά 01-09-15, 10:40
kapetang Ο χρήστης kapetang δεν είναι συνδεδεμένος
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα

Χρήστο επανέρχομαι με μία τελική πρόταση.

Το πρόβλημα με τα εξαρτώμενα ComboBox δεν είναι τόσο στο συγχρονισμό τους, όσο στην εμφάνιση των δεδομένων.

Όταν επιλέγουμε μια τιμή στο cboIDGroup1 εκτελείται ο κώδικας της διαδικασίας cboIDGroup1_AfterUpdate και τα στοιχεία της λίστας του cboIDGroup2 φιλτράρονται και συγχρονίζονται με την επιλογή.

Επίσης, αν στη συνέχεια επιλέξουμε μία τιμή στο cboIDGroup2, θα εκτελεστεί ο κώδικας της διαδικασίας cboIDGroup2_AfterUpdate και τα στοιχεία της λίστας του cboIDGroup3 θα φιλτραριστούν και θα συγχρονιστούν με την επιλογή.

Αν τώρα μετακινηθούμε σε μία άλλη εγγραφή, τότε αν η τιμή του πεδίου IDGroup2 (ή του IDGroup3) δεν περιέχεται στη λίστα του cboIDGroup2 (ή του cboIDGroup3) δε θα εμφανιστεί.

Για την αντιμετώπιση του προβλήματος πρόσθεσα κώδικα και στο συμβάν OnCurrent της φόρμας.

Έτσι κάθε φορά που αλλάζουμε εγγραφή το cboIDGroup2 φιλτράρεται με βάση την τρέχουσα τιμή του cboIDGroup1 και το cboIDGroup3 με βάση την τρέχουσα τιμή του cboIDGroup2 .

Αυτό εξασφαλίζει η τρέχουσα εγγραφή να εμφανίζει όλες τις τιμές.

Αν η φόρμα είναι απλή (δείχνει μία εγγραφή τη φορά) τελειώσαμε.

Σε μία συνεχόμενη φόρμα ή φόρμα Split που βλέπουμε πολλές εγγραφές η τρέχουσα θα εμφανίζει όλες τις τιμές ενώ οι υπόλοιπες ενδέχεται να έχουν κενά στα πεδία cboIDGroup2 και cboIDGroup2.

Για την αντιμετώπιση του προβλήματος για κάθε ComboBox (cboIDGroup2, cboIDGroup3) πρόσθεσα ένα πλαίσιο κειμένου και τα μορφοποίησα ώστε το textbox και το αντίστοιχο ComboBox να φαίνονται σαν ένα απλό ComboBox.

Επίσης έβαλα τους κατάλληλους τύπους στα TextBox

Έτσι η εμφάνιση των τιμών γίνεται στα TextBox και τα ComboBox χρησιμοποιούνται μόνο για επιλογή στοιχείων.

Στην προβολή του φύλλου δεδομένων για να μη εμφανίζονται στήλες για τα ComboBox και τα αντίστοιχα TextBox οι στήλες των ComboBox κρύφτηκαν.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: accdb CascadingComboBoxFormSplit.accdb (1,04 MB, 110 εμφανίσεις)
Απάντηση με παράθεση