Come calcolare il codice fiscale in Access



Il codice fiscale è una serie di 16 tra lettere e cifre ed è univoco per ogni persona, il metodo di calcolo che propongo non tiene conto del fatto che, se ci fossero 2 o più persone con stesso nome, cognome, data di nascita e sesso, il ministero delle finanze apporrebbe una lettera differente a questi. Fatta questa premessa spieghiamo come si calcola questo codice che ci portiamo dietro nella vita fiscale.

  • Le prime 3 lettere sono la prima, seconda e terza consonante del cognome. Se non ce ne fossero abbastanza si prendono le vocali e se ancora non bastano si inseriscono gli asterischi.
  • Le altre 3 sono la prima, terza e quarta consonate del nome. Se non ce ne fossero abbastanza si prendono le vocali e se ancora non bastano si inseriscono gli asterischi.
  • Le ultime 2 cifre dell’anno di nascita.
  • La lettera corrispondente al mese della data di nascita.
  • Il giorno di 2 cifre della data di nascita. Per le donne viene aumentata di 40, ecco perchè abbiamo bisogno di prendere il sesso.
  • Il codice di 1 carattere e 3 cifre del comune di nascita.
  • Il carattere di controllo finale dato dai pesi pari e dispari del codice trovato finora.

20091229codfisc

Quella che vedete nell’immagine qui sopra è l’applicazione in formato sorgente in esecuzione. Viene richiesto il nome, cognome, data di nascita, sesso e comune di nascita; il tutto è molto sobrio perchè si tratta di un tutorial ed inoltre per studiare meglio i vari passaggi tutto il codice è stato suddiviso in varie funzioni. Il programma funziona anche senza Access ma solo con il suo runtime 2007 liberamente scaricabile e quindi oltre che da tutorial l’applicazione può anche essere utilizzata nell’uso giornaliero.

Volevo solo porre l’attenzione sul codice per trovare il codice del comune di nascita:

Public Function ExtractComune(strComune As String) As String

Dim strTemp As String, myData As DAO.Database, myRec As DAO.Recordset

strTemp = “SELECT CF FROM Comuni WHERE Comune = ‘”
strTemp = strTemp + strComune
strTemp = strTemp + “‘”

Set myData = CurrentDb
Set myRec = myData.OpenRecordset(strTemp)

strTemp = “”
If Not myRec.EOF Then
strTemp = myRec!CF
End If

myRec.Close
Set myRec = Nothing
Set myData = Nothing

ExtractComune = strTemp

End Function

Per prima cosa occorre aggiungere le librerie DAO 3.6 o superiore ai riferimenti e poi occorre avere nel database la tabella dei comuni Italiani. Altra cosa importantissima è che occorre inserire il nome del comune per intero a causa di quel WHERE Comune =. Per migliorare l’applicativo occorrerebbe aggiungere una casella combinata con i comuni e far scegliere il valore dalla lista, meglio ancora se divise per provincia e regione, ovviamente per evitare di caricare tutti gli oltre 9.000 valori.

Se casomai vorrete, potete richiedere nel forum della pagina di download del tutorial di completare questi piccoli passi, ma solo se sarete in tanti!

Annunci sponsorizzati:
Condividi su Facebook Condividi su Twitter!
  • onestamente non ne trovo l’utilità. Visto che basta utilizzare un qualsiasi linguaggio di scripting web(php o asp) per riuscire nella faccenda.

    Per quanto riguarda il codice fiscale nell’applciazione web o lo inserisce in input l’utente oppure lo generi tu tramite l’applicazione e lo salvi nel db tramite campo calcolato e te ne esci.

    Utilizzare un database non ha proprio senso.

  • Onestamente non ho capito la tua critica, questo è solo un tutorial ( rilasciato con codice sorgente in vba ) e serve per insegnare ad implementare il codice fiscale all’interno di applicativi ben più grandi ( vedi gestione clienti o fornitori ) in Access.
    Utilizzarlo in un database che ti gestisce l’azienda invece ha senso.

Pinterest