Ciao a tutti,
avrei la necessità di calcolare il codice fiscale dai dati inseriti in un form e di inviare poi il codice stesso ad un campo di un DB.
Non so proprio da che parte incominciare![]()
![]()
Chi mi può dare una mano?
Grazie e ciao![]()
Ciao a tutti,
avrei la necessità di calcolare il codice fiscale dai dati inseriti in un form e di inviare poi il codice stesso ad un campo di un DB.
Non so proprio da che parte incominciare![]()
![]()
Chi mi può dare una mano?
Grazie e ciao![]()
il codice fiscale si genera in base a determite "sigle" che si basano su:
nome
cognome
luogo di nascita
provincia
data di nascita
sesso
dell'individuo.
Non so dirti dove puoi trovare tali sigle, ma una volte che le hai il gioco è fatto.
Matrix è ovunque, è intorno a noi, anche adesso nella stanza in cui siamo. È quello che vedi quando ti affacci alla finestra o quando accendi il televisore. L'avverti quando vai al lavoro, quando vai in chiesa, quando paghi le tasse. È il mondo che ti è stato messo dinanzi agli occhi, per nasconderti la verità.
cerca bene sul forum... ci sono un sacco di richieste cosi!
non sono sigle...
si prendono le consonanti di cognome nome
poi anno (xx) mese e giorno
"sigla della città"
codice di controllo
scarica dalla mia firma il prg per il calcolo!
questa funzione verifica l'esattezza del codice fiscale
'---Funzione controllo codice fiscale
FUNCTION Ctrl_codicefiscale(cf)
CodiceFiscale = Trim(UCASE(cf))
If CF_caratteri(CodiceFiscale) Then
Ctrl_codicefiscale = False
Else
Dim Lettere(35,2)
Dim ConfrontoCarattereControllo(25)
Dim I
Dim J
Dim Carattere
Dim ValorePari
Dim ValoreDispari
Dim SommaCaratteri
Dim PariDispari
Dim Risultato
Dim CarattereControllo
Dim Temp
Dim Test
Lettere(0,0) = "A"
Lettere(0,1) = "0"
Lettere(0,2) = "1"
Lettere(1,0) = "B"
Lettere(1,1) = "1"
Lettere(1,2) = "0"
Lettere(2,0) = "C"
Lettere(2,1) = "2"
Lettere(2,2) = "5"
Lettere(3,0) = "D"
Lettere(3,1) = "3"
Lettere(3,2) = "7"
Lettere(4,0) = "E"
Lettere(4,1) = "4"
Lettere(4,2) = "9"
Lettere(5,0) = "F"
Lettere(5,1) = "5"
Lettere(5,2) = "13"
Lettere(6,0) = "G"
Lettere(6,1) = "6"
Lettere(6,2) = "15"
Lettere(7,0) = "H"
Lettere(7,1) = "7"
Lettere(7,2) = "17"
Lettere(8,0) = "I"
Lettere(8,1) = "8"
Lettere(8,2) = "19"
Lettere(9,0) = "J"
Lettere(9,1) = "9"
Lettere(9,2) = "21"
Lettere(10,0) = "K"
Lettere(10,1) = "10"
Lettere(10,2) = "2"
Lettere(11,0) = "L"
Lettere(11,1) = "11"
Lettere(11,2) = "4"
Lettere(12,0) = "M"
Lettere(12,1) = "12"
Lettere(12,2) = "18"
Lettere(13,0) = "N"
Lettere(13,1) = "13"
Lettere(13,2) = "20"
Lettere(14,0) = "O"
Lettere(14,1) = "14"
Lettere(14,2) = "11"
Lettere(15,0) = "P"
Lettere(15,1) = "15"
Lettere(15,2) = "3"
Lettere(16,0) = "Q"
Lettere(16,1) = "16"
Lettere(16,2) = "6"
Lettere(17,0) = "R"
Lettere(17,1) = "17"
Lettere(17,2) = "8"
Lettere(18,0) = "S"
Lettere(18,1) = "18"
Lettere(18,2) = "12"
Lettere(19,0) = "T"
Lettere(19,1) = "19"
Lettere(19,2) = "14"
Lettere(20,0) = "U"
Lettere(20,1) = "20"
Lettere(20,2) = "16"
Lettere(21,0) = "V"
Lettere(21,1) = "21"
Lettere(21,2) = "10"
Lettere(22,0) = "W"
Lettere(22,1) = "22"
Lettere(22,2) = "22"
Lettere(23,0) = "X"
Lettere(23,1) = "23"
Lettere(23,2) = "25"
Lettere(24,0) = "Y"
Lettere(24,1) = "24"
Lettere(24,2) = "24"
Lettere(25,0) = "Z"
Lettere(25,1) = "25"
Lettere(25,2) = "23"
Lettere(26,0) = "0"
Lettere(26,1) = "0"
Lettere(26,2) = "1"
Lettere(27,0) = "1"
Lettere(27,1) = "1"
Lettere(27,2) = "0"
Lettere(28,0) = "2"
Lettere(28,1) = "2"
Lettere(28,2) = "5"
Lettere(29,0) = "3"
Lettere(29,1) = "3"
Lettere(29,2) = "7"
Lettere(30,0) = "4"
Lettere(30,1) = "4"
Lettere(30,2) = "9"
Lettere(31,0) = "5"
Lettere(31,1) = "5"
Lettere(31,2) = "13"
Lettere(32,0) = "6"
Lettere(32,1) = "6"
Lettere(32,2) = "15"
Lettere(33,0) = "7"
Lettere(33,1) = "7"
Lettere(33,2) = "17"
Lettere(34,0) = "8"
Lettere(34,1) = "8"
Lettere(34,2) = "19"
Lettere(35,0) = "9"
Lettere(35,1) = "9"
Lettere(35,2) = "21"
For I = 0 To 25
ConfrontoCarattereControllo(I) = Chr(65 + I) 'creo in ConfrontoCarattereControllo tutte le lettere maiuscole dalla A (chr(65)) alla Z(chr(90))
Next
Carattere=0
ValorePari=1 'indice della seconda colonna della matrice Lettere
ValoreDispari=2 'indice della terza colonna della matrice Lettere
SommaCaratteri=0
CarattereControllo=Right(CodiceFiscale,1)
for I=1 to len(CodiceFiscale)-1
if (I mod 2)=0 then
PariDispari="P"
else
PariDispari="D"
end if
Temp =mid(CodiceFiscale,I,1)
J=0
do
Test=Lettere(J,Carattere)
J=J+1
loop until Temp=Test
J=J-1
if PariDispari="P" then
SommaCaratteri=SommaCaratteri + CInt(Lettere(J,ValorePari))
else
SommaCaratteri=SommaCaratteri + CInt(Lettere(J,ValoreDispari))
end if
Next
Risultato=SommaCaratteri mod 26
Risultato=ConfrontoCarattereControllo(Risultato)
if Risultato<>CarattereControllo then
Ctrl_codicefiscale = False
else
Ctrl_codicefiscale = True
end if
End If
END FUNCTION