Codice Fiscale in Access

In questo tutorial vedremo passo passo come implementare il calcolo del codice fiscale in Access e più precisamente con VBA ( Visual Basic for Application ). Il codice fiscale è nato nell’ottobre del 1971 da una riforma tributaria nella quale il parlamento delegò il governo a dare il via al fatidico tesserino verde. Ma solo dopo 5 anni il primo Italiano fu fregiato di tale trofeo; oggi sono 76 milioni i codici fiscali in Italia. Ma vediamo in linea generale come si calcola questo codice di 16 caratteri tra lettere e numeri:

  • Le prime tre consonanti ( non è così sempre ) sono le prime tre consonati del cognome.
  • Le seconde tre consonanti ( non è così sempre ) sono la prima + la terza e quarta consonate del nome.
  • Le due cifre dell’anno di nascita.
  • La lettera equivalente al mese di nascita.
  • Successivamente il giorno di nascita e nel caso delle donne aumentato di 40.
  • Il codice di 4 caratteri del comune di nascita.
  • Il carattere di controllo che si ottiene dai pesi dei caratteri fin qui calcolati

Per poter effettuare questo calcolo quindi avremo bisogno del database dei comuni Italiani. La prima operazione da fare è creare una form ( finestra ) ed inserire i controlli per il nome, cognome, comune di nascita, data di nascita e due radio per il sesso. Il prossimo passo è quello di inserire una funzione che estrae le consonanti dal nome e dal cognome:

Public Function ExtractLetters(strValue As String,
       bCognome As Boolean) As String
Dim i, iVoc, iCon As Integer, strTemp, strVoc, strCon As String

i = 1
iVoc = 0
iCon = 0
strTemp = ""
strVoc = ""
strCon = ""

...

La funzione consente di estrarre le consonanti e all’occorrenza le vocali dal cognome o dal nome. In particolare se nel cognome non abbiamo abbastanza consonanti si inseriscono le vocali e se non ci sono neanche queste ultime si inseriscono gli asterischi. La prossima funzione serve per estrarre le cifre dalla data di nascita e più in particolare l’anno, il giorno e la consonante del mese:

Public Function ExtractDate(strDate As String,
     bSex As Boolean) As String
Dim strCarMese(12), strTemp As String

strTemp = ""

strCarMese(1) = "A"
strCarMese(2) = "B"
strCarMese(3) = "C"
strCarMese(4) = "D"

...

In questa funzione inseriamo la data ed il sesso per sommare al giorno di nascita 40 per le donne, per il resto abbiamo inserito la lettera corrispondente al mese di nascita e le ultime 2 cifre dell’anno di nascita. In questa funzione manca il controllo della data, ma siccome questo è solo un tutorial non la svilupperemo. La prossima funzione da implementare sarà quella del codice fiscale del comune inserito:

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)

...

Semplicemente apriamo una connessione con il database dei comuni con DAO 3.6 che quindi deve essere aggiunto nei riferimenti e prendere il CF al comune corrispondente. Le prossime funzioni sono quelle per il calcolo del carattere di controllo finale, quindi una per il calcolo dei pesi pari ed una per il calcolo dei pesi dispari. Una ultima funzione deve richiamare le funzioni suddette e calcolare il carattere di controllo. Tutto l’esempio è disponibile per il download e vi consente di vedere come è stato sviluppato il programma, se ci fossero delle domande per ulteriori spiegazioni potete rivolgerle al nostro forum dedicato ad Access.
Abbiamo sviluppato un’applicazione in Access per il calcolo del codice fiscale, si chiama CodAccess 2010 e permette sia di calcolare il codice fiscale, sia di effettuare l’operazione inversa, ossia estrarre i dati anagrafici dal codice fiscale; per maggiori informazioni vi invito a visitare la pagina dedicata al programma.

Informazioni su Giampaolo Rossi

Sviluppatore di software gestionale da oltre 28 anni.
Questa voce è stata pubblicata in Office e contrassegnata con , . Contrassegna il permalink.

2 risposte a Codice Fiscale in Access

  1. Anonymous scrive:

    Complimenti! veramente ottimo.
    mimmo

  2. Giampaolo Rossi scrive:

    Grazie mille!
    Per chi ancora non lo sapesse, dopo questo articolo, ho creato un applicativo gratuito in Access per il calcolo del codice fiscale e calcolo inverso (soltanto in versione compilata .mde). Se vi serve potete scaricarlo su questa pagina, basta soltanto una semplice iscrizione.

I commenti sono chiusi.