Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Πρόβλημα με το ΑΦΜ (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/446-problima-me-afm.html)

Jim 23-02-10 18:32

Πρόβλημα με το ΑΦΜ
 
Προσπαθώ εδώ και ώρα να περάσω παιδιά το κώδικα AFM σε μια βάση μου Και δεν τα καταφέρνω μήπως κάνω κάτι λάθος ???? Περνώ το ΑΦΜ μου και το βγάζει λάθος. Δείτε λίγο το συνημμένο σάς παρακαλώ και σάς ευχαριστώ προκαταβολικά Φιλικά Δημήτρης

editolis 23-02-10 18:58

1 Συνημμένο(α)
Σου το διορθωσα...

Jim 23-02-10 20:15

Τόλη σέ ευχαριστώ
Φιλικά Δημήτρης

tzvangel 26-02-10 14:16

Τολη το αρχειο σου δεν νομιζω πως διχνει το σωστο αποτελεσμα γιατι το αφμ που του βαζω εγω (στο αρχειο σου) μου βγαζει ακυρο! ενω και ειναι εγκυρο και στο gsis.gr μου το βγαζει εγκυρο....
Τι να φταιει?

Ευχαριστω
Βαγγελης

Meteora 26-02-10 14:41

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

ΒΗΜΑ (Ι)

Στο πεδίο [AFM] Πληκτρολογώ το ΑΦΜ και στο συμβάν After Update έχω :
Κώδικας:


Private Sub AFM_AfterUpdate()
If CheckAFM(AFM) Then
  MsgBox "Δεκτό Α.Φ.Μ.", vbInformation, "ΕΛΕΓΧΟΣ"
Else
    MsgBox "Λανθασμένο το ΑΦΜ", vbExclamation, "ΕΛΕΓΧΟΣ"
End If
End Sub


ΒΗΜΑ (ΙΙ) : Να και η συνάρτηση, που κάνει τον έλεγχο :

Public Function CheckAFM(sAFM As String) As Boolean
Dim ISun As Integer
Dim btRem As Byte
Dim I As Byte
If sAFM = "" Or Len(sAFM) <> 9 Then
CheckAFM = False
Exit Function
End If
iSum = 0
CheckAFM = False
For I = 1 To Len(sAFM) - 1
If Asc(Mid(sAFM, I, 1)) < 48 Or Asc(Mid(sAFM, I, 1)) > 57 Then
CheckAFM = False
Exit Function
End If
iSum = iSum + Val(Mid(sAFM, I, 1)) * (2 ^ (Len(sAFM) - I))
Next I
If iSum = 0 Then
CheckAFM = False
Else
btRem = iSum Mod 11
If Val(Right(sAFM, 1)) = btRem Or (btRem = 10 And _
Val(Right(sAFM, 1)) = 0) Then CheckAFM = True
End If
End Function

Τη συνάρτηση αυτή έχω μεταφέρει σε μια module.

A! Θυμήθηκα για τη συνάρτηση. Την πήρα απο μια εφαρμογή "ΕΦΟΡΙΑ" που χρησιμοποιεί η φίλη μου Χρύσα ... στα σχολεία της περιοχής όπου εργάζομαι.

Φιλικά / Νίκος

tzvangel 26-02-10 14:55

ΕΙΣΑΙ ΠΡΩΤΟΣ!!! αυτα ειναι δουλευει!!! ΛΕΩ ΚΑΙ ΓΩ.....

Tasos 26-02-10 15:28

Βαγγέλη, καλησπέρα και καλωσόρισες στο φόρουμ!

Δές αν θέλεις το συνημμένο στο παρακάτω μήνυμα (χωρίς χρήση VBA):

http://www.ms-office.gr/forum/access....html#post1489

Φιλικά

Τάσος

tzvangel 26-02-10 15:34

Παράθεση:

Αρχική Δημοσίευση από Meteora (Μήνυμα 1889)
ΒΗΜΑ (ΙΙ) : Να και η συνάρτηση, που κάνει τον έλεγχο :

Public Function CheckAFM(sAFM As String) As Boolean.......End Function

Τη συνάρτηση αυτή έχω μεταφέρει σε μια module.

ΒΗΜΑ (|||) :icon_hihi:
Έστω πινάκας με όνομα ΠΕΛΑΤΕΣ
Δημιουργείς και ένα ερώτημα με όνομα ΠΕΛΑΤΕΣ_ΕΡ
Και πεδία επιλέγεις τα όνομα, πόλη, ΑΦΜ
Μετά πας στην σχεδίαση του ερωτήματος και βάζεις σε ένα άδειο πεδίο (συνήθως διπλά από το πεδίο ΑΦΜ) το εξής
ΕΛΕΝΧΟΣ: IIf(CheckAFM([ΑΦΜ]);"ΔΕΚΤΟΣ";"ΑΚΥΡΟ")
Και στο κριτήριο βάζεις "ΑΚΥΡΟ"
Έτσι ελέγχεις αν έχεις λάθος ΑΦΜ πουθενά :burp:

tzvangel 26-02-10 18:28

Παράθεση:

Αρχική Δημοσίευση από Tasos (Μήνυμα 1892)
Βαγγέλη, καλησπέρα και καλωσόρισες στο φόρουμ!

Δές αν θέλεις το συνημμένο στο παρακάτω μήνυμα (χωρίς χρήση VBA):

http://www.ms-office.gr/forum/access....html#post1489

Φιλικά

Τάσος

κ. Τάσο
γνωρίζοντας τις γνώσεις σας επάνω στην ACCESS (βλ. απαντήσεις!) το συνημμένο που μου είπατε να δω το είδα, όμως είμαι στην δυσάρεστη θέση να σας πω ότι και πάλη μου βγαίνει άκυρο! Ενώ με τον κώδικα που μας είπε ο φίλος μας Μετέωρα διώχνει ότι είναι σωστό.
Έλεγξα να δω αν όντος δείχνει το σωστό αποτέλεσμα ο δικός σας κώδικας και είδα ότι σε μια βάση δεδομένων με 400 εγγραφές που εκ το οποίον οι 2 έχουν λάθος ΑΦΜ(λόγο άγνοιας) τις 285 μου τις βγάζει άκυρο! Και τις υπόλοιπες σωστές
Ενώ με τον κώδικα μου βγάζει 18 εγγραφές με λάθος ΑΦΜ το οποίο και ισχύει γιατί το έλεγξα μέσω της ιστοσελίδας της εφορίας.
Και πάλη συγγνώμη που επεμβαίνω στην απάντηση σας φαίνομε αρκετά «μικρός» ως προς τις γνώσεις σας στην ACCESS, αλλά λέω αυτό που βλέπω.
Ευχαριστώ
Βαγγελης

Tasos 26-02-10 18:43

Βαγγέλη, εδώ στο φόρουμ είμαστε όλοι ΙΣΟΙ είτε αυτοί είναι ιδιοκτήτες,
είτε απλά μέλη, ανεξαρτήτως επιπέδου γνώσεων!

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

Εννοώ, ότι τα 10 ΑΦΜ που βρήκα από το Internet δεν μου δημιούργησαν κάποιο λάθος.

Αν σου είναι εύκολο, στείλε μου αυτό το ΑΦΜ σε προσωπικό μήνυμα για να μπορέσω να δω
τι συμβαίνει.

Φιλικά

Τάσος


Η ώρα είναι 12:50.

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


Search Engine Optimization by vBSEO 3.3.2