Εμφάνιση ενός μόνο μηνύματος
  #5  
Παλιά 26-02-10, 14:41
Το avatar του χρήστη Meteora
Meteora Ο χρήστης Meteora δεν είναι συνδεδεμένος
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

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

ΒΗΜΑ (Ι)

Στο πεδίο [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! Θυμήθηκα για τη συνάρτηση. Την πήρα απο μια εφαρμογή "ΕΦΟΡΙΑ" που χρησιμοποιεί η φίλη μου Χρύσα ... στα σχολεία της περιοχής όπου εργάζομαι.

Φιλικά / Νίκος
Απάντηση με παράθεση