#Access: come utilizzare le macro

Utilizzare la programmazione in Access senza conoscere il VBA

Autore: Andrea Pacchiarotti
Ultimo aggiornamento: 16 Marzo 2020
Categoria: Microsoft Office Access Macro

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

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.

Sommario #Access: come utilizzare le macro


Programmazione in Access

Quando si costruisce un database, 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 già pronte di Access o creare da zero codice VBA (Visual Basic for Application).
Spesso il termine macro viene erroneamente usato per riferirsi al codice VBA. In realtà in Access il termine macro riguarda una raccolta di azioni di macro 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.

Considerazioni sulle macro

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 ad 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 nella sezione intitolata Programmare con la Creazione guidata Pulsante di comando.

Creare una macro dal Catalogo azioni

È possibile creare una macro, 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

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 ed 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.

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