Come trasformare una stringa in data in Access

di Gianfranco Budano

Pubblicato 30 Aprile 2008
Aggiornato 12 Febbraio 2018 20:44

Può capitare di dover trasformare un testo in data, spesso nella fase di importazione di flussi informativi provenienti da un file di testo può succedere di imbattersi in date formattate secondo lo schema gg-mm-aaaa.

Se non possedete una funzione in grado di risolvere il vostro problema potete provare a scriverne una da soli.

Aprite un modulo VBA, dal menu Crea cliccate sul pulsante Macro|Modulo e ricopiate il seguente codice:


Public Function Dat(X As String) As Date
Dat = Left$(X, 2) & "/" & Mid$(X, 3, 2) & "/" & Right$(X, 4)
End Function

Salvate il modulo che definisce la nuova funzione Dat ed utilizzatela per aggiornare il campo contenente la stringa da trasformare in data creando una query di aggiornamento.

La funzione, infatti, dividerà la stringa di otto caratteri frapponendo gli slash relativi alla data posizionandoli al posto giusto.

I più smaliziati avranno già capito che non era necessario scrivere una funzione, l’esempio sopra riportato ha, in effetti, semplicemente un intento didattico che serva a comprendere il meccanismo delle funzioni scritte in casa cominciando dagli esempi più semplici; tuttavia può servire anche salvarla per utilizzi successivi.

In maniera altrettanto veloce avremmo ottenuto lo stesso risultato sostituendo, nella query di aggiornamento, il nome del campo al posto della X:

NuovaData: Left$(([NomeCampo]), 2) & "/" & Mid$(([NomeCampo]), 3, 2) & "/" & Right$(([NomeCampo]), 4)