ciao a tutti.
ho bisogno di una funzione visual basic che validi un codice fiscale. non mi serve che essa mi generi un cf a partire dai dati anagrafici ma solo che il cf che uno inserisce sia corretto.
grazie
saluti![]()
ciao a tutti.
ho bisogno di una funzione visual basic che validi un codice fiscale. non mi serve che essa mi generi un cf a partire dai dati anagrafici ma solo che il cf che uno inserisce sia corretto.
grazie
saluti![]()
Per fare ciò che dici TI serve la funzione che lo crea! Altrimenti come lo ricavi il cf per confrontarlo?!?Originariamente inviato da AL_MI
ciao a tutti.
ho bisogno di una funzione visual basic che validi un codice fiscale. non mi serve che essa mi generi un cf a partire dai dati anagrafici ma solo che il cf che uno inserisce sia corretto.
grazie
saluti![]()
![]()
intendevo che un utente inserisce in una text un CF. al click di un tasto controllo se è un formato corretto o no. non mi serve verificare che il cf sia corretto in base ai dati dell'utente in quanto quest'ultimo non inserisce alcun dato anagrafico
per formato del cf cosa intendi esattamente?!?
intendo che il cf deve essere composto da 16 caratteri di cui i primi 6 sono lettere, poi ci sono 2 numeri che indicano l'anno di nascita ecc.......
scusa........
ma che ci metti a farla da te?
Certo, se esiste qualcuno che l'ha già bella e pronta siamo d'accordo ma farla da zero non lo vedo un problema incredibile.
OT (nulla di personale):
E' da un po' che non frequento il forum, e su questo non ce l'ho con te, mi sembra diventato tipo mercatino delle funzioni di VB, non so se è stato creato con questo spirito!
ciau ciau
entra su ciaopeople chat e tieniti informato con
news - se ti interessa il poker di
4a puoi guarda alcuni video su
Poker Libero Video
L'ultimo caratter del CF e' un carattere di controllo calcolato tramite un algoritmo.
Basta applicare questo algoritmo sui primi 15 caratteri e verificare l'ultimo carattere inserito corrisponde.
L'algoritmo e' una c@##@t@, ma non ricordo quale era.
Provare a cercare in rete?
![]()
...and I miss you...like the deserts miss the rain...
Originariamente inviato da AL_MI
intendo che il cf deve essere composto da 16 caratteri di cui i primi 6 sono lettere, poi ci sono 2 numeri che indicano l'anno di nascita ecc.......La soluzione di Von è meglio però...codice:if len(cf) <> 16... if isnumeric(mid(cf,1,6))... if not isnumeric(mid(cf,7,2))...
Originariamente inviato da IlGrandeReddy
scusa........
ma che ci metti a farla da te?
Certo, se esiste qualcuno che l'ha già bella e pronta siamo d'accordo ma farla da zero non lo vedo un problema incredibile.
OT (nulla di personale):
E' da un po' che non frequento il forum, e su questo non ce l'ho con te, mi sembra diventato tipo mercatino delle funzioni di VB, non so se è stato creato con questo spirito!
ciau ciau
Sinceramente non ho tempo di mettermi a fare una funzione da 0 (anche se magari ci metterei poco). la sto cercando gia fatta perche risparmierei tempo e basta. sto facendo un lavoro che non centra molto con quello che faccio di solito quindi se trovo qualcosa di gia fatto tanto meglio. sono il primo a dire che se uno fa una cosa da solo è meglio, ma ci sono anche delle eccezioni.
bye
Questa è la parte di per creare il codice fiscale che calcola l'ultimo carattere.
Private Const Consonanti = "BCDFGHLMNPQRSTVWKXYJZ"
Private Const Vocali = "AEIOU"
Private Const Mesi = "ABCDEHLMPRST"
Private Const Lettere = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Private Const Numeri = "0123456789"
Private Const dispari = "0100050709131517192102041820110306081214161022252 423"
public function CalcolaCodiceFiscale(codf as string) as string
'codf sono le prime 15
a = 0
For i = 2 To 14 Step 2
cfp = Mid(Codf, i, 1)
If InStr(Lettere, cfp) > 0 Then
a = a + InStr(Lettere, cfp) - 1
Else
a = a + InStr(Numeri, cfp) - 1
End If
Next
B = 0
Ric = 0
For i = 1 To 15 Step 2
cfp = Mid(Codf, i, 1)
If InStr(Lettere, cfp) > 0 Then
Ric = InStr(Lettere, cfp) * 2 - 1
B = B + Val(Mid(dispari, Ric, 2))
Else
Ric = InStr(Numeri, cfp) * 2 - 1
B = B + Val(Mid(dispari, Ric, 2))
End If
Next
c = a + B
e = c Mod 26
CalcolaCodiceFiscale = Codf & Mid(Lettere, e + 1, 1)
end function