Questo articolo fa parte del corso su Access. Puoi trovare la guida completa e tutte le lezioni qui: https://informatica.rgpsoft.it/corso-access
Requisiti per seguire il corso
Questo è il primo articolo di una serie dedicata a Microsoft Access, il database relazionale della suite Office. Per seguire al meglio le lezioni è importante avere già familiarità con le funzioni di base del sistema operativo Windows. Se non vi sentite sicuri, potete consultare prima il nostro corso introduttivo su Windows e poi tornare qui.
Il percorso sarà gratuito e orientato alla pratica: niente teoria superflua, ma tanti esempi reali e piccoli esercizi da provare subito. Per questo vi serviranno un po’ di costanza e, naturalmente, una copia di Microsoft Access installata sul vostro computer.
Cos’è Access
Access è il gestore dei dati ( database ) di tipo relazionale di casa Microsoft e non contiene soltanto dati, ma anche finestre e report, che fanno di questo strumento un vero e proprio ambiente di sviluppo, molto semplice da gestire, vedrete quanto sia veloce e pratico creare delle piccole applicazioni.
Struttura del corso
Prima di iniziare è importante chiarire l’impostazione di questo corso. Ci concentreremo esclusivamente su tabelle, maschere e report, cioè gli elementi fondamentali per creare applicazioni solide e facilmente aggiornabili. Non tratteremo macro o funzionalità accessorie: preferisco un approccio pulito e lineare, basato sul codice, che evita complessità inutili.
Per la gestione delle maschere utilizzeremo quindi VBA (Visual Basic for Applications), così da ottenere procedure chiare, controllabili e semplici da aggiornare nel tempo.
Se non avete familiarità con i database relazionali o con il linguaggio SQL, potete approfondire l’argomento negli articoli dedicati. Chi invece desidera un’introduzione al linguaggio Visual Basic può partire dai contenuti su VB.NET: pur con qualche differenza, la logica di base rimane la stessa.
I comuni italiani
Come primo esercizio vediamo come inserire i dati di una tabella all’interno di una maschera senza utilizzare associazioni automatiche o wizard, ma affidandoci esclusivamente al VBA. È chiaro che, nella pratica quotidiana, il metodo più rapido è associare direttamente una tabella o una query alla maschera; tuttavia qui siamo in un corso, e percorrere la strada “più lunga” ci permetterà di capire davvero cosa succede dietro le quinte. Dopo aver imparato questo approccio, usare quello rapido sarà una passeggiata.
Per iniziare, scaricate il database dei Comuni Italiani, apritelo con Access e create una nuova maschera in visualizzazione struttura, senza associare alcuna tabella.
All’interno della nuova maschera — che chiameremo Comuni — inserite un controllo di testo dalla barra degli strumenti a sinistra (se non la vedete, cliccate sull’icona con martello e chiave inglese). È il secondo controllo, quello con l’etichetta ab|. Access inserirà automaticamente anche un’etichetta: rinominatela in Comune, mentre il controllo di testo lasciatelo non associato.
Premete F4 per aprire la finestra delle proprietà della maschera (clic sul quadratino in alto a sinistra della maschera). Selezionate il controllo di testo e, nella proprietà Nome, inserite editComune.
Ora passiamo alla maschera: sempre nella finestra delle proprietà, nella scheda Eventi, individuate l’evento Su caricamento (Form Load) e cliccate sul pulsante con i tre puntini.
Si aprirà l’editor del codice VBA, dove potete inserire il seguente codice:
Option Explicit
Option Compare Database
Private Sub Form_Load()
Dim myData As DAO.Database, myRec As DAO.Recordset
Set myData = CurrentDb
Set myRec = myData.OpenRecordset("SELECT * FROM Comuni")
editComune.SetFocus
editComune = myRec!Comune
myRec.Close
Set myRec = Nothing
Set myData = Nothing
End Sub
La prima riga, Option Explicit, indica al programma che tutte le variabili devono essere dichiarate prima dell’uso. Per questo motivo abbiamo utilizzato Dim sia per l’oggetto Database sia per il Recordset, che rappresenta l’insieme dei record restituiti dalla query.
Per far funzionare correttamente il codice è necessario attivare la libreria DAO 3.6 (Data Access Objects) tra i riferimenti, dal menu Strumenti → Riferimenti. Una volta fatto, possiamo assegnare il database corrente all’oggetto myDb e aprire la query all’interno del recordset.
Prima di inserire un valore in un controllo della maschera, è necessario che quel controllo abbia il focus. Solo dopo possiamo assegnare il valore proveniente dal recordset, ad esempio: myRec!Comune dove Comune è il nome del campo da leggere (in questo caso il primo record della tabella).
Al termine dell’operazione chiudiamo gli oggetti e liberiamo la memoria con:
Set myRec = Nothing
Set myDb = Nothing
Se tornate alla visualizzazione struttura della maschera e poi la aprite in modalità maschera (primo pulsante sulla barra degli strumenti), vedrete che la casella di testo contiene AGRIGENTO, cioè il primo record della tabella Comuni.
Questo è solo un primo esempio, molto semplice e senza utilità pratica — lo stesso risultato si ottiene in pochi secondi con l’associazione automatica. Tuttavia è fondamentale per capire come Access possa essere utilizzato come vero ambiente di sviluppo, dove il controllo del flusso dei dati è completamente nelle vostre mani.
Vuoi continuare il percorso? Torna alla guida generale del corso su Access: https://informatica.rgpsoft.it/corso-access
mi è piaciuto molto.
NON TROVO UNA SPIEGAZIONE LOGICA AI MODULI SPECIALMENTE SULLE PAROLE FUNSIONI.
Per chi non conoscesse il linguaggio VB, ho detto che dovevano prima seguire il corso sul linguaggio VB.NET e poi dovevano affrontare questo che è molto più avanzato come nozioni.