Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
![]()
Καλημέρα Έρχομαι να συνεχίσω ένα θέμα που εγώ έκλεισα δίχως να επεξεργαστώ τις προτάσεις! Βέβαια είχα κρατήσει σημειώσεις και τώρα επανέρχομαι.(http://www.ms-office.gr/forum/15116-post3.html) Τα Δεδομένα.......... Αφού ολοκληρώσω την εγγραφή, στον Πίνακα Δοκιμασίες, με την επικείμενη γραπτή δοκιμασία (Κωδ. Δοκ-Περίοδος-Μάθημα-Χαρακτηρισμός-Ημερομηνία-Θέμα-Τάξη-Τμήμα) >> Με το κλικ ενός κουμπιού >> Εκτελείται Προσάρτηση και Ενημέρωση στον Πίνακα Βαθμολογίες (Κωδ-Αριθμός Μητρώου-Κωδ Δοκ.) Συγκεκριμένα: Παίρνει όλους τους ΑΜ των μαθητών του τμήματος που δηλώθηκε στην εγγραφή και τους ρίχνει στον Πίνακα και σε 2η φάση ενημερώνει τον Κωδ. Δοκ (όπου είναι κενός) Πράγματι είναι όλα μια χαρά...(ήταν και η πρόταση του Στέλιου (sarafis)) Ερώτημα/Προβληματισμός.................... Στην περίπτωση που κάνω Backup τον Πίνακα με τις Δοκιμασίες και αυτόν με τις Βαθμολογίες και κατόπιν κάνω πάλι εισαγωγή των δεδομένων στην βάση...θα χαθεί η σύνδεση, διότι ο Κωδ. Δοκ. στον Πίνακα Δοκιμασίες θα πάρει Νέες τιμές (αποτελεί Πρωτεύον Κλειδί). Μήπως θα ήταν καλύτερα να προσαρτώ Όχι τον Κωδ. Δοκ. αλλά Όλα τα πεδία της Δοκιμασίας; Σ' αυτήν την περίπτωση θα πρέπει να υπάρχει σχέση μεταξύ των Πινάκων Δοκιμασίες-Βαθμολογίες ή όχι; Τι μου προτείνετε; Τελευταία επεξεργασία από το χρήστη Χρήστος : 02-02-14 στις 17:25. |
#2
| |||
| |||
![]()
Καλησπέρα Χρήστο, αν κατάλαβα το ζητούμενο, δεν υπάρχει πρόβλημα. Αν ο πίνακας M έχει πρωτεύον κλειδί το mID, τύπου αυτόματης αρίθμησης και πεδία τα mF1, mF2 το ερώτημα: INSERT INTO M ( mID, mF1, mF2 ) SELECT nID, nF1, nF2 FROM N; θα προσαρτήσει τις εγγραφές του πίνακα N στον M, χωρίς καμία αλλαγή στις τιμές των πεδίων nID, nF1 και nF2. Διευκρινίζεται ότι τα πεδία nID, nF1 και nF2 του N αντιστοιχούν στα mID, mF1 και mF2 του πίνακα M. Αν τα πεδία του πίνακα N έχουν ίδια ονόματα με τα πεδία του M, που μάλλον ισχύει στην περίπτωσή σου, το ερώτημα θα μπορούσε να απλοποιηθεί στο εξής: INSERT INTO M SELECT * FROM N; Φυσικά για να εισαχθεί μία εγγραφή του N στον M, δεν πρέπει να δημιουργούνται διπλότυπες τιμές στο πρωτεύον κλειδί mID (οι τιμές του nID δεν πρέπει να υπάρχουν στη στήλη mID του πίνακα M). Φιλικά/Γιώργος |
#3
| |||
| |||
![]()
Καλησπέρα Γιώργο, έχω καταλήξει ότι η λύση με την προσάρτηση μόνο των 2 πεδίων: Αριθμού Μητρώου και Κωδ. Δοκιμασίας είναι και η καλύτερη. Όμως ζητώ τα φώτα σου προκειμένου να βρεθεί λύση στο "μειονέκτημα" που υπάρχει! Αν υποθέσουμε ότι Διαγράφω τις εγγραφές και των 2 πινάκων (έχοντας κρατήσει αντίγραφα) τότε με το που θα εισάγω τις εγγραφές πίσω στον πίνακα Δοκιμασίες το Πρωτεύον κλειδί θα πάρει νέες τιμές και έτσι δεν θα μου επιτραπεί να εισάγω καν τις τιμές στον πίνακα Βαθμολογίες, λόγω της ακεραιότητας αναφοράς! Πως θα το ξεπεράσω αυτό το πρόβλημα; Προφανώς δεν θα πρέπει το ξένο κλειδί του Πίνακα Βαθμολογίες να είναι το πρωτεύον κλειδί του Πίνακα Δοκιμασίες. Ποιά είναι η άποψή σου; Τελευταία επεξεργασία από το χρήστη Χρήστος : 02-02-14 στις 17:53. |
#4
| |||
| |||
![]()
Καλησπέρα Χρήστο, όπως γράφω και στο προηγούμενο μήνυμά μου, δεν υπάρχει τέτοιο μειονέκτημα. Μπορούμε να επαναφέρουμε τις εγγραφές που διαγράψαμε χωρίς να αλλάξουν οι τιμές του πρωτεύοντος πεδίου. Μπορείς να το δοκιμάσεις στη βάση που επισυνάπτω. Φιλικά/Γιώργος |
#5
| |||
| |||
![]()
Δεν ξέρεις πως περίμενα την απάντησή σου!! :)
|
#6
| |||
| |||
![]()
Η δική μου σκέψη έχει να κάνει με το εξής. Έστειλα τις εγγραφές στον Ν Έσβησα αυτές που έμειναν στον Μ Έκανα Συμπύκνωση και Επιδιόρθωση(Reset στο πρωτεύον κλειδί) πέρασα στον Μ μια εγγραφή που πήρε πρωτεύον κλειδί 1 (με 1 υπάρχει ήδη εγγραφή στον Ν) έκανα επαναφορά, απ' τον Ν στον Μ...και η 1η εγγραφή δεν μπήκε!! Τελευταία επεξεργασία από το χρήστη Χρήστος : 02-02-14 στις 23:07. |
#7
| |||
| |||
![]()
Εγώ τα ξαναβάζω μέσα στον πίνακα, απ' όπου τα διέγραψα, με copy-paste και εκεί είναι το λάθος μου!! Έτσι το ID αλλάζει!! Αν συνδέσω έναν νέο πίνακα με ένα αρχείο Excel(το backup μου) και τρέξω ερώτημα ενημέρωσης απ' τον νέο πίνακα στον τελικό πίνακα, τα ID θα είναι τα ίδια! Πάντως ΔΕΝ πρέπει να γίνει Συμπύκνωση και Επιδιόρθωση! Άλλωστε η βάση θα έχει κρυμμένο Ribbon, οπότε κάτι τέτοιο δεν θα είναι εφικτό. Νομίζω πως καλύφθηκα...με έναν μικρό συμβιβασμό βέβαια. Γιώργο ευχαριστώ :) Θα τα ξαναπούμε. Τελευταία επεξεργασία από το χρήστη Χρήστος : 02-02-14 στις 23:10. |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[ Ερωτήματα ] Σχεδίαση βάσης δεδομένων | Πανος_ | Access - Ερωτήσεις / Απαντήσεις | 0 | 29-02-16 19:19 |
[ Πίνακες ] Σχεδίαση για πρωτόκολλο σε ενορία... | Morpheas | Access - Ερωτήσεις / Απαντήσεις | 10 | 22-08-14 19:26 |
Σχεδίαση βάσης... | dafnidafni | Access - Ερωτήσεις / Απαντήσεις | 10 | 27-01-12 14:53 |
Σχεδίαση με VBA | Dimitris Ch | Access - Ερωτήσεις / Απαντήσεις | 6 | 18-05-11 15:35 |
[ Ερωτήματα ] Σχεδίαση - σύνδεση πινάκων σε Β.Δ. | Xristos | Access - Ερωτήσεις / Απαντήσεις | 2 | 15-05-11 12:50 |
Η ώρα είναι 15:06.