Καλημέρα στην παρέα
Δημήτρη, στη ΒΔ που επισυνάπτω, παρουσιάζεται ένας τρόπος ελέγχου της εγκυρότητας του ΑΜΚΑ.
Όταν δημιουργούμε βάσεις δεδομένων, θα πρέπει να επιδιώκουμε να υλοποιούμε τους διάφορους περιορισμούς κατά τη σχεδίαση του πίνακα.
Στις φόρμες θα πρέπει να μπαίνουν μόνο οι περιορισμοί, που δε μπορούν να υλοποιηθούν στη σχεδίαση του πίνακα.
Στον πίνακα «tblAMKA» υλοποιήθηκε ο περιορισμός ο ΑΜΚΑ να έχει 11 χαρακτήρες και οι χαρακτήρες να είναι ψηφία, δίνοντας κατάλληλη τιμή στην ιδιότητα «Μάσκα εισαγωγής».
Έτσι σε οποιαδήποτε φόρμα, χωρίς να πάρουμε άλλα μέτρα, η access δε θα επιτρέπει στο χρήστη την εισαγωγή ΑΜΚΑ, που δεν απαρτίζεται από 11 ψηφία.
Μια ομάδα 11 ψηφίων, δεν είναι πάντα έγκυρος ΑΜΚΑ. Θα πρέπει τα ψηφία να ικανοποιούν κάποια συνθήκη.
Επειδή ο έλεγχος αυτός δε μπορεί να υλοποιηθεί σε επίπεδο πίνακα, θα πρέπει να υλοποιηθεί στη φόρμα καταχώρησης του ΑΜΚΑ.
Στη φόρμα «frmAMKA», αν καταχωρήσουμε άκυρο ΑΜΚΑ, εμφανίζεται κατάλληλο μήνυμα και, μέχρι να πληκτρολογηθεί έγκυρος ΑΚΜΑ, δεν επιτρέπεται η μετακίνηση σε άλλο πεδίο.
Η λειτουργικότητα αυτή εξασφαλίζεται από τον κώδικα:
Κώδικας:
Private Sub AMKA_BeforeUpdate(Cancel As Integer)
If Not IsNull(Me.AMKA) Then
If Not AMKACheck(Me.AMKA) Then
MsgBox "Άκυρος ΑΜΚΑ", , "Έλεγχος ΑΜΚΑ"
Cancel = True
Exit Sub
End If
End If
End Sub
Για τον έλεγχο της εγκυρότητας του ΑΜΚΑ χρησιμοποιείται η συνάρτηση «AMKACheck» του Τάσου, που πρόσθεσα στη λειτουργική «modCheckAMKA» της βάσης.
Στη ΒΔ υπάρχει και το ερώτημα «ChkAMKA» με το οποίο μπορούμε να εμφανίσουμε τους ΑΜΚΑ, που δεν είναι έγκυροι και να διαπιστώσουμε αν οι ΑΜΚΑ ενός πίνακα είναι όλοι έγκυροι.
Φιλικά/Γιώργος