Προς το περιεχόμενο

Δημιουργία σχετιζόμενων drop-down menus στην Access 2003


basil9

Προτεινόμενες αναρτήσεις

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

 

Το πρόβλημα είναι ότι θέλω να δημιουργήσω μια φόρμα στην οποία θα υπάρχουν και δύο ή περισσότερα drop-down menus αλλά ανάλογα με την τιμή που θα βάλω στο πρώτο να καθορίζεται και το περιεχόμενο των υπολοίπων. Ουσιαστικά δηλαδή το πρώτο να λειτουργεί σαν φίλτρο για το τι επιλογές θα έχει ο χρήστης στο επόμενο. Δυστυχώς μέχρι τώρα δεν έχω βρει κάτι που να δουλεύει σωστά. (Ένα πρακτικό παράδειγμα θα ήταν το πρώτο drop-down menu να έχει τα ΑΕΙ της χώρας και μόλις επιλέξω κάποιο στο επόμενο να μου έχει τα τμήματα του συγκεκριμένου ΑΕΙ και επεκτείνοντας το στη συνέχεια να έχει τα μαθήματα του συγκεκριμένου τμήματος)

 

Δεκτή κάθε συμβουλή και είμαι διαθέσιμος για οποιαδήποτε διευκρίνηση

 

Σας ευχαριστώ για το χρόνο σας

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Έστω ότι έχεις έναν πίνακα LESSONS με πεδία ID, LESSON, DEP, UNI. Στη φόρμα βάζεις ένα combo box (σύνθετο πλαίσιο) με όνομα comboUni. Στις ιδιότητες του ο τύπος προέλευσης γραμμής πρέπει να είναι Πίνακας/Ερώτημα και στην προέλευση γραμμής γράφεις SELECT DISTINCT UNI FROM LESSONS;

Προσθέτεις αλλο ένα combo με όνομα comboDep. Με δεξί κλικ στο πρώτο combo (comboUni) πας Δόμηση συμβάντος και Δόμηση κώδικα. Επάνω δεξιά στον editor της VB επιλέγεις το συμβάν AfterUpdate. Γράφεις τον κώδικα όπως παρακάτω

>
Private Sub comboUni_AfterUpdate()
   comboDep.RowSource = "SELECT DISTINCT DEP FROM LESSONS WHERE UNI = '" & comboUni & "'"
   comboDep = comboDep.ItemData(0)
End Sub

Αντίστοιχα προσθέτεις και ένα τρίτο combo με όνομα comboLesson και στο συμβάν AfterUpdate του comboDep αυτή τη φορά γράφεις τον κωδικα

>
Private Sub comboDep_AfterUpdate()
   comboLesson.RowSource = "SELECT LESSON FROM LESSONS WHERE UNI = '" & comboUni & "' AND DEP = '" & comboDep & "'"
   comboLesson = comboLesson.ItemData(0)
End Sub

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

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

  • Δημιουργία νέου...