Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > [ Συναρτήσεις ] ΕΛΕΓΧΟΣ ΑΜΚΑ ΣΕ ΑCCESS

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 06-10-11, 21:37
Όνομα: ΤΖΙΜΗΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 11-02-2011
Περιοχή: Πύργος Ηλείας
Μηνύματα: 227
Προεπιλογή ΕΛΕΓΧΟΣ ΑΜΚΑ ΣΕ ΑCCESS

Με αφορμή την πράγματι εντυπωσιακή δουλειά του Τάσου όπου βρήκε τον αλγόριθμο του ΑΜΚΑ και θα μας απαλλάξει από λάθη στο μέλλον, μήπως, μπορούμε να τον προσαρμόσουμε και σε περιβάλλον access όπου στο συμβάν μετά από την ενημέρωση σε κάποιο πεδίο να μας κάνει τον έλεγχο ορθότητας και νας μας εμφανίζει αντίστοιχο μήνυμα σε παράθυρο διαλόγου.
Φιλικά Τζίμης
Απάντηση με παράθεση
  #2  
Παλιά 07-10-11, 11:05
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα στην παρέα

Δημήτρη, στη ΒΔ που επισυνάπτω, παρουσιάζεται ένας τρόπος ελέγχου της εγκυρότητας του ΑΜΚΑ.

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

Στον πίνακα «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» με το οποίο μπορούμε να εμφανίσουμε τους ΑΜΚΑ, που δεν είναι έγκυροι και να διαπιστώσουμε αν οι ΑΜΚΑ ενός πίνακα είναι όλοι έγκυροι.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb chkAMKA.mdb (276,0 KB, 137 εμφανίσεις)

Τελευταία επεξεργασία από το χρήστη kapetang : 07-10-11 στις 11:38. Αιτία: Αλλαγή συνημμένου για σωστή αντιμετώπιση null ΑΜΚΑ
Απάντηση με παράθεση
  #3  
Παλιά 07-10-11, 11:10
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Καλημέρα Τζίμη!

Είναι πολύ απλό!

Παίρνεις τη συνάρτηση IsValidAMKA και την αποθηκεύεις σε μια λειτουργική μονάδα στο έργο VBA του αρχείου Access ( ή Word, Excel κτλ.) ως έχει.

Η συνάρτηση αυτή επιστρέφει True ή False ανάλογα την εγκυρότητα του αριθμού ΑΜΚΑ που της ορίσουμε όταν την καλούμε.

Χρήση της Συνάρτησης:

Από υπολογισμένο πεδίο ερωτήματος: AMKA_VALIDATION:IsValidAMKA([AMKA_Field])

Από υπολογισμένο πεδίο φόρμας: =IsValidAMKA([AMKA_Field])

Από VBA:
Κώδικας:
Private Sub TextBox1_AfterUpdate()
    If IsValidAMKA(Nz(TextBox1)) Then
        MsgBox "OK"
    Else
        MsgBox "Λάθος"
    End If
End Sub

Σε μορφοποίηση υπό όρους:
Not isValidAMKA([AMKA_Field])

Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #4  
Παλιά 07-10-11, 13:07
Όνομα: ΤΖΙΜΗΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 11-02-2011
Περιοχή: Πύργος Ηλείας
Μηνύματα: 227
Προεπιλογή

Τάσο & Γιώργο ένα μεγάλο ευχαριστώ για τις απαντήσεις σας.Νομίζω ότι με τα θέματα που παρουσιάσατε διευκολύνεται πολλούς.
Με εκτίμηση Τζίμης
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Γενικά] ΑΜΚΑ mdragon Excel - Ερωτήσεις / Απαντήσεις 14 14-02-21 08:29
Επικύρωση ΑΜΚΑ σε Excel Tasos Άλλες συναρτήσεις 0 05-10-11 18:24
[Γενικά] Έλεγχος Εγκυρότητας ΑΜΚΑ Tasos Excel - Tips & Tricks 0 05-10-11 18:00
[VBA] Αναζήτηση ΑΜΚΑ στην Excel. Tasos Excel samples - Χρήσιμα αρχεία & παραδείγματα 0 24-09-11 13:48


Η ώρα είναι 11:23.