#Access: come utilizzare le macro

Programma in Access senza conoscere VBA

Autore: Andrea Pacchiarotti
Ultimo aggiornamento: 22 Gennaio 2023
Categoria: Microsoft Office Access Macro

#Access: come utilizzare le macro
#Access: come utilizzare le macro

Le Macro Microsoft Access sono rappresentate da una serie di comandi e azioni che possono essere eseguiti in modo automatico quando si avvia un'applicazione o si esegue una determinata azione. Le macro Access possono essere utilizzate per automatizzare una varietà di attività, come l'apertura di un form o di un report, la modifica dei dati in una tabella o l'esecuzione di una query.
Una macro Access può essere creata utilizzando la visualizzazione di progettazione delle macro, che offre un'interfaccia drag and drop per l'aggiunta di azioni. È inoltre possibile utilizzare il codice VBA (Visual Basic for Applications) per creare macro più complesse. Una volta create, le macro possono essere eseguite manualmente o possono essere associate a eventi, come il clic di un pulsante o l'apertura di un form.
Le macro Access possono essere utilizzate per:

È importante notare che tutte le macro possono rappresentare un rischio di sicurezza, in quanto possono essere utilizzate per eseguire codice maligno. Per questo motivo, Access, e gli altri programmi della suite Office, fornisce opzioni per la disabilitazione delle macro o per la loro esecuzione solo da fonti attendibili.

I primi oggetti che si creano in un database Access sono le tabelle, le maschere, le query e i report, ma esistono anche le macro Access.

Sommario #Access: come utilizzare le macro


Programmazione in Access

Quando si costruisce un database Access, si inizia normalmente creando alcuni oggetti quali tabelle, query, maschere e report. Se l’archivio cresce molto è probabile che nasca l’esigenza di implementare un po’ di programmazione per automatizzare taluni processi e collegare tra loro gli oggetti creati attraverso, per esempio, pulsanti di comando o per attivare altre azioni.
Per farlo è necessario usare le macro Access già pronte o creare da zero codice VBA - Visual Basic for Application (se ti interessa il VBA per Excel puoi iniziare leggendo Istruzioni condizionali e Cicli iterativi).
Spesso il termine macro viene erroneamente usato per riferirsi al codice VBA. In realtà in Access il termine macro riguarda una raccolta di azioni assemblabili mediante il Generatore di macro. Ma esse sono solo un sottoinsieme dei comandi disponibili in VBA.
Per capire se utilizzare macro, codice VBA o entrambi, bisogna considerare come si intende sviluppare il proprio database e le funzionalità che deve possedere. Per oggetti e controlli (ActiveX, Allegato, Casella combinata, Casella di controllo, Casella di riepilogo, Casella di testo, Collegamento, Controllo Struttura a schede, Cornice oggetto associato, Cornice oggetto non associato, Etichetta, Grafico, Gruppo di opzioni, Immagine, Interruttore, Interruzione di pagina, Pulsante di comando, Pulsante di opzione, Rettangolo, Riga, Sottomaschera, Sottoreport, Spostamento, Web browser), si hanno varie proprietà evento alle quali collegare macro e routine. Le proprietà evento sono associate a eventi come ad esempio: clic del mouse, apertura di una maschera, modifica di dati in una casella di testo. Gli eventi sono attivabili anche esternamente da Access, per esempio tramite eventi di sistema o da macro o routine collegate ad altri eventi.

Da tener presente che sotto l’aspetto della sicurezza il VBA può rappresentare un problema in quanto può essere usato per creare codice malevolo. Se si usa un database creato da sconosciuti, bisognerebbe abilitare il codice VBA solo se si è certi che l’archivio è sicuro.
Dalla scheda File, Opzioni, Centro di protezione, Impostazioni centro di protezione, Impostazioni delle macro, è possibile impostare diversi livelli di sicurezza riguardanti le macro.
Comparirà una finestra che permetterà di impostare il livello di protezione scegliendo tra:

è preferibile scegliere quest’ultima impostazione se si è sicuri della provenienza dei file ricevuti.

Macro Access

Dalla versione Access 2010, sono pronte all’uso molte nuove macro che possono essere quindi utilizzate al posto di routine programmate in VBA.
È anche possibile incorporare una macro nella proprietà evento di oggetti o controlli; in tal modo essa diventa parte dell'oggetto o del controllo e resta associata a esso anche se l'oggetto o il controllo viene spostato o copiato.
Conviene usare la programmazione VBA anziché le macro per:

A che serve una macro

La macro automatizza attività e aggiunge funzionalità a maschere, report e controlli senza necessità di scrivere codice in un modulo VBA; è quindi molto più semplice creare una macro anziché programmare codice VBA.
Aggiungendo un pulsante a una maschera, sarà possibile, ad esempio, associargli una macro che verrà avviata al clic sul pulsante stesso, come vedremo tra poco nella sezione intitolata Programmare con la Creazione guidata Pulsante di comando.

Creare macro dal Catalogo azioni

È possibile creare una macro Access, selezionandone le azioni da un elenco a discesa e immettendo le relative informazioni in ogni azione; per farlo bisogna usare il Catalogo azioni, presente nella scheda Crea del gruppo Macro e codice, cliccando l’icona Macro.

Access. Creare una macro dal Catalogo azioni
Access. Creare una macro dal Catalogo azioni

Elenco di azioni di macro che controllano gli elementi visualizzati

Vediamo come impostare una macro che crei un nuovo record in visualizzazione Maschera.

Programmare con la Creazione guidata Pulsante di comando

Aggiungendo un pulsante di comando a una maschera, è possibile usare la Creazione guidata per poterlo programmare. Ciò permetterà di creare una macro incorporata nel pulsante stesso (se il file Access ha estensione mdb la procedura guidata creerà invece codice VBA)

Convertire macro in VBA

Come per le macro, la programmazione in VBA aggiunge automazione e funzionalità ad Access. È possibile cominciare a usare VBA creando una macro e convertendola in codice VBA; in tal modo viene a crearsi un modulo VBA. Si apre anche Visual Basic Editor (VBE) che permette di modificare la routine; in VBE è altresì possibile cliccare su parole chiave e premere F1 per avviare la guida.
La conversione aggiunge codice VBA al modulo di classe della maschera o del report.

Si aprirà la finestra Converti da macro o Converti macro di report; qui è consigliabile aggiungere il codice per la gestione degli errori ed eventualmente i commenti, successivamente cliccare Converti.

In conclusione, le macro in Microsoft Access sono uno strumento potente per automatizzare i compiti ripetitivi, migliorare l'efficienza e la sicurezza della gestione dei dati. Con le macro è possibile creare interfacce utente personalizzate, generare rapporti automatici e migliorare la logica di navigazione. Utilizzare le macro Access può aiutare a risparmiare tempo e ridurre gli errori, rendendo più semplice e efficiente la gestione dei dati.

Potrebbe interessarti leggere anche: #Access: tipo dati e proprietà della tabella


Per saperne di più su Microsoft Access potrebbero interessarti questi libri:

Se vuoi approfondire alcuni dei temi trattati, visita la pagina con le mie pubblicazioni cartacee e online

Se l'articolo ti è piaciuto, condividilo!

Segui l'hashtag #AndreaPacchiarotti