Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
![]()
Καλησπέρα σε όλους Θα ήθελα αν μπορείτε να με βοηθήσετε να φτιάξω κάποια comboΒoxes (πως να τα συνδέσω). Θα ήθελα επιλέγοντας κάποια τιμή στο πρώτο comboBox, το δεύτερο να μου φέρνει τις τιμές που αντιστοιχούν στην πρώτη επιλογή και στο τρίτο τις τιμές που αντιστοιχούν στο δεύτερο. Προσπάθησα αλλά δεν κατάφερα κάτι. Αν μπορεί κάποιος ας μου πει πως μπορώ να το κάνω. ΥΓ. Ανεβάζω δείγμα τις βάσης μου. Σας ευχαριστω
__________________ Φιλικά ![]() Χρήστος ___________________________ Αυτά που δεν ξέρεις φτιάχνουν μία βιβλιοθήκη που καθένας μας θα ήταν υπερήφανος να έχει. Αν η γνώση δημιουργεί προβλήματα,η άγνοια σίγουρα δεν μπορεί να τα λύσει. |
#2
| |||
| |||
![]()
Καλησπέρα Χρήστο, δες μια πρόταση στο συνημμένο, με κώδικα. Κάνε δοκιμές για να διαπιστωθεί αν καλύπτει όλες τις περιπτώσεις. Φιλικά/Γιώργος |
#3
|
![]()
Καλησπέρα Στην πιο κάτω βάση, μπορεί να δει κανείς, τον κλασσικό τρόπο, με τον οποίο μπορούμε, να δημιουργήσουμε εξαρτημένα cbo. Έχουμε δημιουργήσει τρείς πίνακες: Κατηγορίες Υποκατηγορίες Προϊόντα και ακόμα, δημιουργήσαμε τις μεταξύ τους σχέσεις. Σε μια παραδειγματική φόρμα, που θα μπορούσε να είναι παραγγελιοληψία πελατολόγιο ή ό,τι άλλο, δημιουργούμε τρία ασύνδετα cbo: Κατηγορία Υποκατηγορία Προϊόν Σε καθ' ένα από αυτά, από ιδιότητες - δεδομένα, δημιουργούμε ερώτημα (SQL statment) Και τέλος λίγος κώδικας... στο συμβάν, After Update του πρώτου cbo , κάνουμε Requery στο δεύτερο cbo και στο συμβάν, After Update του δεύτερου cbo , κάνουμε Requery στο τρίτο cbo. Μπορούμε να εισάγουμε, περισσότερα των τριών cbo, ανάλογα με τις ανάγκες μας. Αφού κάνουμε και τα ανάλογα Format στηλών (ότι εξυπηρετεί τον καθ' ένα) ... δοκιμάζουμε την λειτουργία ... Οι λεπτομέρειες, στη βάση... |
#4
| |||
| |||
![]()
Γιώργο καλησπέρα Σε ευχαριστώ πολύ είναι αυτό που ήθελα. Εκεί που έχω πρόβλημα είναι όταν περνάω στο φύλλο δεδομένων πάνω από τις εγγραφές, ενώ έχει τιμή το combo box δεν τη δείχνει (στη φόρμα)... Δες την εικόνα
__________________ Φιλικά ![]() Χρήστος ___________________________ Αυτά που δεν ξέρεις φτιάχνουν μία βιβλιοθήκη που καθένας μας θα ήταν υπερήφανος να έχει. Αν η γνώση δημιουργεί προβλήματα,η άγνοια σίγουρα δεν μπορεί να τα λύσει. Τελευταία επεξεργασία από το χρήστη Chris : 29-08-15 στις 17:05. |
#5
| |||
| |||
![]()
Σπύρο καλησπέρα Σ' ευχαριστώ και σένα για την απάντηση σου αλλά αυτό που με εξυπηρετεί περισσότερο είναι η απάντηση του έδωσε ο Γιώργος.
__________________ Φιλικά ![]() Χρήστος ___________________________ Αυτά που δεν ξέρεις φτιάχνουν μία βιβλιοθήκη που καθένας μας θα ήταν υπερήφανος να έχει. Αν η γνώση δημιουργεί προβλήματα,η άγνοια σίγουρα δεν μπορεί να τα λύσει. Τελευταία επεξεργασία από το χρήστη Chris : 29-08-15 στις 17:05. |
#6
|
![]()
Καλησπέρα Χρήστο, σαφώς και η απάντηση του Γιώργου, είναι προσαρμοσμένη, στο πρόβλημα που θέτεις. Το δικό μου ποστάρισμα, δεν έχει να κάνει 100% με λύση, για την συγκεκριμένη βάση. Περισσότερο, είναι ένας γενικός τρόπος, για να δουν κι άλλοι φίλοι, πως γίνονται κάποια πράγματα και να τα χρησιμοποιήσουν αν υπάρξει ανάγκη. Αν κανείς για παράδειγμα, αρχίσει τώρα να δημιουργεί μια νέα βάση με αυτά τα χαρακτηριστικά, ακολουθώντας την μέθοδο αυτή και δημιουργώντας μια υποφόρμα επιπλέον, σίγουρα θα αποφύγει (με λίγο ακόμη κώδικα) το πρόβλημα που αναφέρεις. |
#7
| |||
| |||
![]()
Καλησπέρα Ο συντονισμός τριών ComboBox είναι αρκετά σύνθετος και έχω τη γνώμη ότι αυτό ισχύει και για τη μέθοδο που προτείνει ο Σπύρος. Δεν αρκεί κώδικας μόνο για το συμβάν Update. Χρήστο έκανα κάποιες αλλαγές και νομίζω ότι η πρόταση έγινε πιο λειτουργική. Θα ξαναδώ το θέμα και αν καταλήξω σε κάτι καλύτερο θα επανέλθω. Φιλικά/Γιώργος Τελευταία επεξεργασία από το χρήστη kapetang : 29-08-15 στις 23:08. Αιτία: Αλλαγή συνημμένου |
#8
| |||
| |||
![]()
Καλησπέρα Μια απλούστερη λύση είναι στο συνημμένο. Εκμεταλλεύεται την πρόταση του Σπύρου και ταυτόχρονα προσθέτει κώδικα και στο συμβάν Current της φόρμας. Υπάρχει όμως ακόμα ένα μειονέκτημα. Στην προβολή φύλλου δεδομένων οι τιμές των πεδίων Group1, Group2 και Group3 εμφανίζονται σίγουρα μόνο στην τρέχουσα εγγραφή. Στις άλλες εγγραφές ενδέχεται να μη εμφανίζονται επειδή οι τιμές των πεδίων δεν περιέχονται στις λίστες τιμών των combobox, όπως αυτές(λίστες) έχουν διαμορφωθεί για την τρέχουσα εγγραφή. Φιλικά/Γιώργος |
#9
|
![]() |
#10
| |||
| |||
![]()
Καλημέρα Χρήστο επανέρχομαι με μία τελική πρόταση. Το πρόβλημα με τα εξαρτώμενα 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 κρύφτηκαν. Φιλικά/Γιώργος |
![]() |
Ετικέτες |
cascading combobox |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
Εργαλεία Θεμάτων | |
Τρόποι εμφάνισης | |
| |
| ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[VBA] ComboBox Πλήθος Εκτυπώσεων | gfevran | Excel - Ερωτήσεις / Απαντήσεις | 2 | 09-11-14 23:13 |
Combobox (NotList) | gregory_m | Visual Basic .NET | 1 | 24-05-14 20:54 |
[VBA] ComboBox φίλτρο | anestaki | Excel - Ερωτήσεις / Απαντήσεις | 15 | 17-02-14 22:22 |
[VBA] Σύγκριση τιμών ComboBox από το ίδιο το ComboBox. | anestaki | Excel - Ερωτήσεις / Απαντήσεις | 4 | 08-02-13 13:49 |
Φίλτρο με ComboBox | Χρήστος | Access - Ερωτήσεις / Απαντήσεις | 3 | 09-02-12 22:59 |
Η ώρα είναι 16:31.