Forum

Forum (https://www.ms-office.gr/forum/)
-   Access samples - Χρήσιμα αρχεία & παραδείγματα (https://www.ms-office.gr/forum/access-samples-xrisima-arxeia-paradeigmata/)
-   -   Μαζική ενημέρωση πεδίου (https://www.ms-office.gr/forum/access-samples-xrisima-arxeia-paradeigmata/4284-maziki-enimerosi-pedioy.html)

kapetang 18-09-16 09:28

Μαζική ενημέρωση πεδίου
 
1 Συνημμένο(α)
Δημιουργός: Γιώργος Καπετανόπουλος (18/9/2016)

Ζητούμενο
Ένας πίνακας περιέχει τα πεδία [fCode] και [Status].

Θέλουμε, αφού ορίσουμε μία τιμή για το πεδίο [Status] (πχ «abcd») και ένα σύνολο τιμών για το πεδίο [fCode] (πχ 11111, 22222, 33333, …), να ενημερώσουμε το πεδίο [Status] του πίνακα με την ορισθείσα τιμή (πχ «abcd»), στις εγγραφές που η τιμή του πεδίου [fCode], ανήκει στο ορισθέν σύνολο (πχ 11111, 22222, 33333, …).

Μ’ άλλα λόγια θέλουμε να ενημερώνουμε μαζικά το πεδίο [Status].

Αν αποσυμπιέσουμε το συνημμένο, θα πάρουμε τα αρχεία:
  • UpdateWith_In_HelpTable.mdb
  • UpdateListWithCheckBoxes.accdb
Στα αρχεία αυτά παρουσιάζονται αρκετές υλοποιήσεις του ζητούμενου.

Εισαγωγή αναγκαίων στοιχείων

Σ’ όλες τις λύσεις η τιμή ενημέρωσης επιλέγεται από ένα σύνθετο πλαίσιο.

Για τον ορισμό του συνόλου των τιμών του πεδίου [fCode], χρησιμοποιείται ή TextBox (φόρμα frmUpdateStatusWhereIn) ή ListBox πολλαπλών επιλογών (φόρμες frmUpdateStausWhereIn2 , frmUpdateStausWhereIn3 και frmUpdateStausQryUpdate).

Στο αρχείο UpdateListWithCheckBoxes.accdb περιλαμβάνεται και η φόρμα ListBoxCheckBoxesQryUpdate στην οποία το ListBox έχει, για την πολλαπλή επιλογή, CheckBoxes.

Για την υλοποίηση αυτού του ειδικού ListBox, χρησιμοποιήθηκε το πεδίο αναζήτησης [fCode], πολλαπλών επιλογών, του πίνακα [tblListBoxCheckBox].

Επειδή τα πεδία αυτά δεν υποστηρίζονται από τα αρχεία *.mdb, η φόρμα ListBoxCheckBoxesQryUpdate δεν περιλαμβάνεται στο αρχείο UpdateWith_In_HelpTable.mdb.

Ενημέρωση πεδίου [Status]

Το σημαντικότερο στην ενημέρωση είναι ο προσδιορισμός (από το σύνολο των εγγραφών του πίνακα) των εγγραφών που θα ενημερωθούν.

Χρησιμοποιήθηκαν δύο τρόποι:

1) Διαμόρφωση κατάλληλου κριτηρίου της μορφής:

WHERE [fCode] in (111111, 222222, 3333333, ….)

Η μέθοδος αυτή εφαρμόστηκε στις φόρμες frmUpdateStatusWhereIn, frmUpdateStatusWhereIn2, και frmUpdateStatusWhereIn3.

2) Χρήση βοηθητικού πίνακα (tblHLP) και ερωτήματος ενημέρωσης (qryUpdate).

Όταν πατούμε το κουμπί της ενημέρωσης, ο κώδικας διαγράφει τα δεδομένα του βοηθητικού πίνακα και στη συνέχεια, αφού του προσθέσει τις κατάλληλες εγγραφές, με βάση την τιμή ενημέρωσης και το σύνολο των κωδικών, εκτελεί το ερώτημα ενημέρωσης.

Η μέθοδος αυτή εφαρμόστηκε στις φόρμες frmUpdateStausQryUpdate και ListBoxCheckBoxesQryUpdate.

Περισσότερες λεπτομέρειες στα σχετικά αρχεία.

Φιλικά/Γιώργος


Η ώρα είναι 17:17.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2