03-03-09, 20:29
|
| Συντονιστής Όνομα: Νίκος Έκδοση λογισμικού Office: Ms-Office 2007 Γλώσσα λογισμικού Office: Ελληνική | | Εγγραφή: 28-12-2008 Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
| |
Ενημέρωση πίνακα απο μη συνδεδεμένη φόρμα
Φίλοι καλησπέρα
Φτιάχνω μια εφαρμογή που διαχειρίζεται τη βιβλιοθήκη σχολικών μονάδων (Βιβλία, Δανειζόμενοι, Δανεισμοί, Επιστροφές, αναφορές, εκτυπώσεις, ...).
Σκέφτηκα το εξής κάποια στιγμή.
Ο χρήστης της εφαρμογής αποφασίζει να αλλάξει τον κωδικό σε κάποιο (-α) βιβλίο. Αν το βιβλίο αυτό ειναι σε δανεισμό, πρέπει ο πίνακας δανεισμού βιβλίων -που περιέχει την πληροφορία αυτή -να ενημερωθεί, ετσι ώστε το βιβλίο να μη υπάρχει ταυτόχρονα με δυο κωδικούς.
Έφτιαξα φυσικά κάποιο αλγόριθμο για να λύσω αυτό το πρόβλημα.
Ας το δούμε...
Έστω η φόρμα Α που ‘Πατά’ στον πίνακα Α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
|