![]() |
ΕΛΕΓΧΟΣ ΑΜΚΑ ΣΕ ΑCCESS Με αφορμή την πράγματι εντυπωσιακή δουλειά του Τάσου όπου βρήκε τον αλγόριθμο του ΑΜΚΑ και θα μας απαλλάξει από λάθη στο μέλλον, μήπως, μπορούμε να τον προσαρμόσουμε και σε περιβάλλον access όπου στο συμβάν μετά από την ενημέρωση σε κάποιο πεδίο να μας κάνει τον έλεγχο ορθότητας και νας μας εμφανίζει αντίστοιχο μήνυμα σε παράθυρο διαλόγου. Φιλικά Τζίμης |
1 Συνημμένο(α) Καλημέρα στην παρέα Δημήτρη, στη ΒΔ που επισυνάπτω, παρουσιάζεται ένας τρόπος ελέγχου της εγκυρότητας του ΑΜΚΑ. Όταν δημιουργούμε βάσεις δεδομένων, θα πρέπει να επιδιώκουμε να υλοποιούμε τους διάφορους περιορισμούς κατά τη σχεδίαση του πίνακα. Στις φόρμες θα πρέπει να μπαίνουν μόνο οι περιορισμοί, που δε μπορούν να υλοποιηθούν στη σχεδίαση του πίνακα. Στον πίνακα «tblAMKA» υλοποιήθηκε ο περιορισμός ο ΑΜΚΑ να έχει 11 χαρακτήρες και οι χαρακτήρες να είναι ψηφία, δίνοντας κατάλληλη τιμή στην ιδιότητα «Μάσκα εισαγωγής». Έτσι σε οποιαδήποτε φόρμα, χωρίς να πάρουμε άλλα μέτρα, η access δε θα επιτρέπει στο χρήστη την εισαγωγή ΑΜΚΑ, που δεν απαρτίζεται από 11 ψηφία. Μια ομάδα 11 ψηφίων, δεν είναι πάντα έγκυρος ΑΜΚΑ. Θα πρέπει τα ψηφία να ικανοποιούν κάποια συνθήκη. Επειδή ο έλεγχος αυτός δε μπορεί να υλοποιηθεί σε επίπεδο πίνακα, θα πρέπει να υλοποιηθεί στη φόρμα καταχώρησης του ΑΜΚΑ. Στη φόρμα «frmAMKA», αν καταχωρήσουμε άκυρο ΑΜΚΑ, εμφανίζεται κατάλληλο μήνυμα και, μέχρι να πληκτρολογηθεί έγκυρος ΑΚΜΑ, δεν επιτρέπεται η μετακίνηση σε άλλο πεδίο. Η λειτουργικότητα αυτή εξασφαλίζεται από τον κώδικα: Κώδικας: Private Sub AMKA_BeforeUpdate(Cancel As Integer)Στη ΒΔ υπάρχει και το ερώτημα «ChkAMKA» με το οποίο μπορούμε να εμφανίσουμε τους ΑΜΚΑ, που δεν είναι έγκυροι και να διαπιστώσουμε αν οι ΑΜΚΑ ενός πίνακα είναι όλοι έγκυροι. Φιλικά/Γιώργος |
Καλημέρα Τζίμη! Είναι πολύ απλό! Παίρνεις τη συνάρτηση IsValidAMKA και την αποθηκεύεις σε μια λειτουργική μονάδα στο έργο VBA του αρχείου Access ( ή Word, Excel κτλ.) ως έχει. Η συνάρτηση αυτή επιστρέφει True ή False ανάλογα την εγκυρότητα του αριθμού ΑΜΚΑ που της ορίσουμε όταν την καλούμε. Χρήση της Συνάρτησης: Από υπολογισμένο πεδίο ερωτήματος: AMKA_VALIDATION:IsValidAMKA([AMKA_Field]) Από υπολογισμένο πεδίο φόρμας: =IsValidAMKA([AMKA_Field]) Από VBA: Κώδικας: Private Sub TextBox1_AfterUpdate()Σε μορφοποίηση υπό όρους: Not isValidAMKA([AMKA_Field]) Φιλικά Τάσος |
Τάσο & Γιώργο ένα μεγάλο ευχαριστώ για τις απαντήσεις σας.Νομίζω ότι με τα θέματα που παρουσιάσατε διευκολύνεται πολλούς. Με εκτίμηση Τζίμης |
| Η ώρα είναι 12:23. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.