Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| ||||
| ||||
Ενημέρωση πίνακα απο μη συνδεδεμένη φόρμα
Φίλοι καλησπέρα Φτιάχνω μια εφαρμογή που διαχειρίζεται τη βιβλιοθήκη σχολικών μονάδων (Βιβλία, Δανειζόμενοι, Δανεισμοί, Επιστροφές, αναφορές, εκτυπώσεις, ...). Σκέφτηκα το εξής κάποια στιγμή. Ο χρήστης της εφαρμογής αποφασίζει να αλλάξει τον κωδικό σε κάποιο (-α) βιβλίο. Αν το βιβλίο αυτό ειναι σε δανεισμό, πρέπει ο πίνακας δανεισμού βιβλίων -που περιέχει την πληροφορία αυτή -να ενημερωθεί, ετσι ώστε το βιβλίο να μη υπάρχει ταυτόχρονα με δυο κωδικούς. Έφτιαξα φυσικά κάποιο αλγόριθμο για να λύσω αυτό το πρόβλημα. Ας το δούμε... Έστω η φόρμα Α που ‘Πατά’ στον πίνακα Α1 (Τίτλος Βιβλίου, Συγγραφέας, Κατηγορία, Κωδικός , …) . Έστω επίσης δεύτερος πίνακα Β1 που περιέχει τα πεδία (Δανειζόμενος, Ημερομηνία δανεισμού, κωδικός Βιβλίου, …) Επιθυμώ : ‘Όταν αλλάξω τον κωδικό βιβλίου στη Φόρμα Α να ενημερωθεί όχι μόνο ο πίνακας Α1, αλλά και ο πίνακας Β1. Βήμα 1 : Στον πίνακα Α1 δημιουργώ ένα πεδίο με τίτλο [ΠρωηνΚωδικος]. Βήμα 2 : Στο συμβάν ‘με την φόρτωση’ της φόρμας Α1 γράφω τον παρακάτω κώδικα αφού θέλω το πεδίο να είναι αόρατο στη φόρμα. Private Sub Form_Load() [ΠρωηνΚωδικος].Visible = False End Sub Βήμα 3 : Στο πεδίο [Κωδικος] της φόρμας και στο συμβάν ‘με την είσοδο’, γράφω τον παρακάτω κώδικα, ώστε να στείλω αυτή την τιμή του στο πεδίο [ΠρωηνΚωδικός], πριν το πεδίο [Κωδικός] αλλάξει. Private Sub Κωδικος_Enter() ΠρωηνΚωδικος = Κωδικος End Sub Βήμα 4 : Στο κουμπί ‘Αποθήκευση’ –εκτός των άλλων- υπάρχει το παρακάτω τμήμα του κώδικα που αλλάζει την τιμή του κωδικού στον πίνακα Β1. … If [Κωδικος] <> [ΠρωηνΚωδικος] Then Dim SQL As String SQL = "UPDATE ΔΑΝΕΙΟ " & _ "SET ΔΑΝΕΙΟ.ΚωδικοςΒιβλιου = Κωδικος " & _ "WHERE ΔΑΝΕΙΟ.ΚωδικοςΒιβλιου = ΠρωηνΚωδικος" DoCmd.RunSQL SQL End If Ίσως πήγα από Θεσσαλονίκη στην Αθήνα μέσω …Ορεστιάδας! Πάντως πήγα… Οποιαδήποτε άλλη διαχείριση ειναι το ζητούμενο ! Με εκτίμηση O meteora |
#2
| |||
| |||
Re: Ενημέρωση πίνακα απο μη συνδεδεμένη φόρμα
Αγαπητέ Φίλε Meteora Καλημέρα, Η ενημέρωση διαδοχικά του κωδικού Βιβλίου σου προτείνω να γίνει με 2 τρόπους. 1. Στις σχέσεις των πινάκων όπου εκεί θα έχεις τον πίνακα βιβλία με τους σχετικούς πίνακες και σαν ιδιότητα της σχέσης θα έχεις Διαδοχική ενημέρωση των σχετικών εγγραφών (Ώστε σε κάθε αλλαγή του κωδικού βιβλίου θα αλλάζει και ο κωδικός βιβλίου στους άλλους πίνακες) και προτείνω να επιλεχθεί και το Διαδοχική διαγραφή των σχετικών εγγραφών (Καθότι με την διαγραφή του βιβλίου θα έχουμε και τις διαγραφές των εγγραφών του στους σχετικούς πίνακες. Κάτι που πρέπει σωστά και να το εφαρμόσουμε καθότι διαφορετικά θα είχαμε εγγραφές με κωδικό βιβλίου που δεν υπάρχει. 2. Εαν θέλεις να διατηρήσεις την τιμή που έχει το πεδίο κωδικός αριθμός βιβλίου δηλαδή την παλιά τιμή του πριν την τροποποίησή του, δοκίμασε να το βάλεις σε μία μεταβλητή με εμβέλεια φόρμας (Ορισμός μεταβλητής ως private, πχ private IntBookID as Integer) και θα αποδίδεις την τιμή στην μεταβλητή στο Event On Dirty (Με αλλοίωση εγγραφής μετά την αποθήκευση) της φόρμας. πχ. (BookID το όνομα του textbox) Κώδικας: Private IntBookID as Integer Private Sub Form_Dirty(Cancel As Integer) IntBookID=me.BookID End Sub Φιλικά iliadisk / Kon73 |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[ Πίνακες ] Ενημέρωση πίνακα από φόρμα | caudillo | Access - Ερωτήσεις / Απαντήσεις | 4 | 21-07-15 23:41 |
[ Φόρμες ] Φόρμα με εικόνα συνδεδεμένη με πλαίσιο κειμένου | Λάμπρος Τ | Access - Ερωτήσεις / Απαντήσεις | 5 | 15-05-14 10:11 |
Φόρμα, Έκθεση, Ενημέρωση πίνακα | kellis | Access - Ερωτήσεις / Απαντήσεις | 13 | 02-06-13 15:41 |
[ Φόρμες ] Ενημέρωση Πίνακα που δεν σχετίζεται με την φόρμα | stelianta | Access - Ερωτήσεις / Απαντήσεις | 4 | 20-02-12 12:51 |
[ Φόρμες ] Ενημέρωση Πίνακα από Φόρμα | marpapa | Access - Ερωτήσεις / Απαντήσεις | 5 | 12-09-11 22:58 |
Η ώρα είναι 08:37.