| Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
| |
|
#1
| |||
| |||
|
Με αφορμή την πράγματι εντυπωσιακή δουλειά του Τάσου όπου βρήκε τον αλγόριθμο του ΑΜΚΑ και θα μας απαλλάξει από λάθη στο μέλλον, μήπως, μπορούμε να τον προσαρμόσουμε και σε περιβάλλον access όπου στο συμβάν μετά από την ενημέρωση σε κάποιο πεδίο να μας κάνει τον έλεγχο ορθότητας και νας μας εμφανίζει αντίστοιχο μήνυμα σε παράθυρο διαλόγου. Φιλικά Τζίμης |
|
#2
| |||
| |||
|
Καλημέρα στην παρέα Δημήτρη, στη ΒΔ που επισυνάπτω, παρουσιάζεται ένας τρόπος ελέγχου της εγκυρότητας του ΑΜΚΑ. Όταν δημιουργούμε βάσεις δεδομένων, θα πρέπει να επιδιώκουμε να υλοποιούμε τους διάφορους περιορισμούς κατά τη σχεδίαση του πίνακα. Στις φόρμες θα πρέπει να μπαίνουν μόνο οι περιορισμοί, που δε μπορούν να υλοποιηθούν στη σχεδίαση του πίνακα. Στον πίνακα «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
Στη ΒΔ υπάρχει και το ερώτημα «ChkAMKA» με το οποίο μπορούμε να εμφανίσουμε τους ΑΜΚΑ, που δεν είναι έγκυροι και να διαπιστώσουμε αν οι ΑΜΚΑ ενός πίνακα είναι όλοι έγκυροι. Φιλικά/Γιώργος Τελευταία επεξεργασία από το χρήστη kapetang : 07-10-11 στις 11:38. Αιτία: Αλλαγή συνημμένου για σωστή αντιμετώπιση null ΑΜΚΑ |
|
#3
| ||||
| ||||
|
Καλημέρα Τζίμη! Είναι πολύ απλό! Παίρνεις τη συνάρτηση 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
| |||
| |||
|
Τάσο & Γιώργο ένα μεγάλο ευχαριστώ για τις απαντήσεις σας.Νομίζω ότι με τα θέματα που παρουσιάσατε διευκολύνεται πολλούς. Με εκτίμηση Τζίμης |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | 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.


Υβριδικός τρόπος

