Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > [ Πίνακες ] Σχεσιακές βάσεις δεδομένων - παραδείγματα

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #21  
Παλιά 05-05-11, 07:33
Όνομα: ΛΕΩΝΙΔΑΣ
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 20-04-2010
Μηνύματα: 15
Προεπιλογή

Αγαπητοί φίλοι,
ευχαριστώ για τα καλά σας λόγια. Μετά από προτροπή του Tasos βάζω το περιεχόμενο του ΙΑΤΡΙΚΟ ΚΕΝΤΡΟ.docx στο σώμα του μηνύματος για όσους δεν μπορούν να διαβάσουν τα συνημμένα και είμαι στη διάθεσή όποιου έχει απορίες.
Λεωνίδας Π.


Μια ομάδα ΓΙΑΤΡΩΝ διαφόρων Ειδικοτήτων δημιούργησαν μία επιχείρηση με το όνομα «ΙΑΤΡΙΚΟ ΚΕΝΤΡΟ» όπου δέχονται ΑΣΘΕΝΕΙΣ τους οποίους εξετάζουν.
Να πως σχεδιάζω μια Βάση με βάση το παραπάνω σενάριο.
Ο ΓΙΑΤΡΟΣ εξετάζει τον ΑΣΘΕΝΗ. Κάθε ουσιαστικό (της Γραμματικής) που εμφανίζεται είναι ένας Πίνακας. Κάθε ρήμα είναι μία «σχέση». Τα ουσιαστικά που καλό είναι να τα βλέπουμε ως Οντότητες, έχουν τα χαρακτηριστικά τους ή αλλιώς ως Πίνακες που έχουν τα Πεδία τους.
Ο ΓΙΑΤΡΟΣ λοιπόν έχει Όνομα, Επώνυμο, Ειδικότητα, Κινητό, ΑΜΚΑΓιατρού και ότι άλλο θεωρούμε ότι είναι απαραίτητο ως χαρακτηριστικό-πεδίο που πρέπει να «αρχειοθετηθεί». Ο ΑΣΘΕΝΗΣ έχει Όνομα, Επώνυμο, ΑΜΚΑΑσθενούς, ΤαμείοΑσφάλισης, κλπ. Το ΑΜΚΑ μπορεί να γίνει το πρωτεύον κλειδί κάθε Πίνακα.
Αφού η βάση θα δουλεύει για χρόνια να πως διαχειρίζομαι τη «σχέση» δηλαδή το ρήμα «εξετάζω».

Ένας ΓΙΑΤΡΟΣ σε βάθος χρόνου, θα εξετάσει πολλούς ΑΣΘΕΝΕΙΣ. Ένας ΑΣΘΕΝΗΣ πάλι σε βάθος χρόνου θα εξεταστεί από πολλούς ΓΙΑΤΡΟΥΣ. Διαπιστώνω ότι η σχέση είναι «πολλά προς πολλά». Αυτό σημαίνει ότι μεταξύ των δύο Πινάκων πρέπει να παρεμβληθεί μια νέα Οντότητα-Πίνακας με όνομα που θα προκύψει από τη μετατροπή του ρήματος σε ουσιαστικό. Είναι ο Πίνακας ΕΞΕΤΑΣΗ.

Ο Πίνακας αυτός με βολεύει να έχει πρωτεύον κλειδί μια Αυτόματη Αρίθμηση και έχει οπωσδήποτε άλλα δύο Πεδία. Το Πεδίο ΑΜΚΑΓιατρού και το Πεδίο ΑΜΚΑΑσθενούς μέσω των οποίων ενεργοποιείται η σχέση ΓΙΑΤΡΟΥ-ΑΣΘΕΝΟΥΣ. Άλλα Πεδία μπορεί να είναι η ΗμερομηνίαΕξέτασης, το ΚόστοςΕξέτασης κλπ. Έτσι στις 4/5/2011 ο γιατρός ΔΗΜΗΤΡΙΟΥ ΔΗΜΗΤΡΙΟΣ εξετάζει τον ασθενή ΒΑΣΙΛΕΙΟΥ ΒΑΣΙΛΕΙΟ και τον βρίσκει κρυωμένο.

Ισχυρίζομαι ότι όλες οι σχέσεις «πολλά προς πολλά» πρέπει να μετατρέπονται σε σχέσεις «ένα προς πολλά». Αυτή τη στιγμή έχω:

Ένας ΓΙΑΤΡΟΣ μπορεί να κάνει πολλές ΕΞΕΤΑΣΕΙΣ (σε βάθος χρόνου) ενώ μία ΕΞΕΤΑΣΗ (η εξέταση υπ αριθμον 7 στις 4/5/2011) γίνεται από έναν ΓΙΑΤΡΟ (αυτό βέβαια συζητιέται γιατί μία ανάλυση αναγκών μπορεί να δείξει ότι μία εξέταση γίνεται από περισσότερους γιατρούς αλλά εντάξει…)
Ένας ΑΣΘΕΝΗΣ μπορεί να κάνει πολλές ΕΞΕΤΑΣΕΙΣ ενώ μια ΕΞΕΤΑΣΗ (η εξέταση υπ αριθμον 7 στις 4/5/2011) αφορά σε έναν ΑΣΘΕΝΗ.
Αν σε μία ΕΞΕΤΑΣΗ ελέγχονται κάποιες ΠΑΡΑΜΕΤΡΟΙ τότε υπάρχει μια νέα σχέση που πρέπει να αξιολογηθεί. Αν είναι «πολλά προς πολλά» πρέπει να σπάσει όπως παραπάνω ενώ αν είναι «ένα προς πολλά» πρέπει να γίνει η σύνδεση για να λειτουργήσει.
Αυτά προς το παρόν.
Απάντηση με παράθεση
  #22  
Παλιά 10-05-11, 19:36
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Καλησπέρα
Με την παρούσα ανάρτηση θέλω να σας παρουσιάσω μια λύση που αφορά την διαμόρφωση της λίστας ενός σύνθετου πλαισίου, ανάλογα με μια άλλη επιλογή που έχει προηγηθεί. Είναι κάτι που είχα 'υποσχεθεί' κατά τη ροή της παρούσας συζήτησης.
Η λύση στηρίζεται σε ένα πίνακα κατάλληλα σχεδιασμένο, τον [ΟΝΟΜΑ_ΠΑΡΑΜΕΤΡΩΝ] και σε μια γραμμή κώδικα VBA.
Κώδικας:
Private Sub COMBO12_GotFocus()
Me.COMBO12.RowSource = "SELECT distinct [ΟΝΟΜΑ_ΠΑΡΑΜΕΤΡΩΝ].[onoma] FROM [ΟΝΟΜΑ_ΠΑΡΑΜΕΤΡΩΝ]" & _
                                       " where [kodexetasis]='" & Me.ΚΩΔ_ΕΞΕΤΑΣΗΣ & "'" & _
                                       " ORDER BY [ΟΝΟΜΑ_ΠΑΡΑΜΕΤΡΩΝ].[onoma] "
End Sub
Στη φόρμα μας, ήδη υπάρχει ο [ΚΩΔ_ΕΞΕΤΑΣΗΣ] και μόλις ο κέρσορας δώσει focus στο σύνθετο πλαίσιο [combo12], του λέει να πάει στον πίνακα [ΟΝΟΜΑ_ΠΑΡΑΜΕΤΡΩΝ] και να εμφανίσει εκείνα τα πεδία [onoma] που έχουν στην εγγραφή τους τιμή στο πεδίο [kodexetasis], ίσο με τον ήδη υπάρχοντα [ΚΩΔ_ΕΞΕΤΑΣΗΣ].

Με εκτίμηση

Νίκος Δ.

Υστερολόγιο: Σε μια εφαρμογή μου, με την παραπάνω τεχνική μπόρεσα να κατανείμω πάνω από 2000 τίτλους μαθημάτων ανάλογα με τον τύπο σχολείου (ΓΕΛ, ΕΠΑΛ, ΓΥΜΝΑΣΙΟ...), την τάξη (Α, Β, ...) και την ομάδα (Επιλογής, γενικής παιδείας, κατεύθυνσης, τομέα) στην οποία μπορεί να αντιστοιχεί ένας τίτλος μαθήματος.
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Ygeia4.zip (55,0 KB, 69 εμφανίσεις)

Τελευταία επεξεργασία από το χρήστη Meteora : 10-05-11 στις 19:47.
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Συναρτήσεις] Αναζήτηση και Εκτύπωση Δεδόμενων απο Βάση Δεδομένων nakosg Excel - Ερωτήσεις / Απαντήσεις 9 01-02-13 19:34
ΑΝΟΙΓΜΑ ΒΑΣΕΙΣ ΣΕ ACCESS 2000 gaz_manos Access - Ερωτήσεις / Απαντήσεις 0 13-12-12 21:25


Η ώρα είναι 23:15.