Descrizione
Le Macro.
Obiettivi della lezione
Saper riconoscere le varie macro; inserirle nel database e
impostare una condizione.
Indice lezione
Lezione 19 - Database
19.1
Le Macro;
19.2
Selezione dati;
19.3
Esecuzione di
attività;
19.4
Importazione /
Esportazione;
19.5
Manipolazione di
oggetti;
19.6
Esercizio.
Dati sulla lezione
|
Versione: |
v1.0 |
|
Tempi: |
1 ora / 60 minuti |
|
Data svolgimento lezione: |
14 Aprile 2003 |
|
Autore dei contenuti: |
Vastapane Marco Attilio – Giuliano Luca |
|
Autore materiali didattici: |
Togni Francesca |
La Teoria
Le macro in
ACCESS, a differenza di altri prodotti Microsoft, non sono delle
“registrazioni” di azioni da parte dell’utente. Esse sono uno strumento per
creare canali obbligati, percorsi sicuri e tutto ciò che può servire un
database secondo le funzionalità richieste, definendo un ambiente a misura di
utente. In pratica con le macro è possibile creare menu personalizzati che
permettono di evitare errate gestioni dei comandi, includendo opzioni
specifiche o nuove, etc…
In Microsoft
ACCESS una macro costituisce una serie di azioni, prestabilite dal sistema.
Per crearne una
basta cliccare con il pulsante sinistro del mouse sulla linguetta Macro
all’interno della finestra del database.

Cliccando su Nuovo
appare una nuova finestra divisa in due sezioni (colonne): azione e
descrizione.

Questa è la
versione base. Quella completa è formata da 4 sezioni, ottenibili premendo i
tasti
(permette di inserire
il nome della macro) e
(permette di inserire
una condizione).

Le azioni da
inserire nella sequenza sono ottenibili con un semplice clic sulla colonna Azione;
apparirà un menu a tendina con una lista tramite la quale effettuare la
selezione.

Le azioni
disponibili sono di facile interpretazione come: ApriMaschera, EseguiQuery,
ChiudiMaschera, CasellaMessaggio, ecc. É importante ricordare che
la sequenza delle azioni all’interno delle macro è rigida, cioè sono inseribili
solo quelle riportate nell’elenco. Esse si suddividono in:
-
apertura e
chiusura di oggetti (azioni ApriMaschera, ApriTabella, ApriQuery,
ApriReport, Chiudi);
-
spostamento tra
controlli o record (azioni VaiAControllo e VaiARecord);
-
ricerca di
record (azioni TrovaRecord e TrovaSuccessivo);
-
applicazione di
filtri (azione ApplicaFiltro);
-
stampa
dell’oggetto attivo (azione Stampa);
-
esecuzione di
un comando di menu (azione EseguiVoceMenu);
-
esecuzione di
un’altra macro (azione EseguiMacro);
-
visualizzazione
di un messaggio (azione FinestraMessaggio);
-
annullamento di
un evento (azione AnnullaEvento).
In tutto le azioni
sono 53 e più precisamente:
|
ApplicaFiltro |
Richiama e
attiva un filtro predefinito |
|
TrovaRecord |
Funziona come il
comando Trova del menu Modifica, cioè permette di trovare un
valore nel campo selezionato. |
|
TrovaSuccessivo |
Agisce come il
comando precedente, solo che cerca il valore successivo del dato prima
impostato |
|
VaiAControllo |
Si posiziona sul
controllo specificato in maschera |
|
VaiAPagina |
Seleziona il
primo campo di una pagina in una maschera a più pagine |
|
VaiARecord |
Si posiziona sul
record specificato |
|
EseguiComando |
Esegue il
comando specificato, definito in base al nome della barra dei menu che
contiene il comando |
|
EseguiCodice |
Esegue una
funzione scritta in Visual Basic Application Edition (VBA) |
|
EseguiMacro |
Esegue il nome
di una macro di cui viene specificato il nome |
|
EseguiSQL |
Esegue la query
specificata esplicitamente nella macro |
|
SegnaleAcustico |
Genera un
segnale acustico |
|
EseguiApplicazione |
Esegue un
programma esterno ad Access lanciandolo direttamente dalla macro. Il percorso
completo dovrà essere definito nella finestra Argomenti Azione |
|
AnnullaEvento |
Annulla l’evento
che è stato innescato da un particolare avvenimento, come ad esempio un click
del mouse |
|
Esci |
Esce da Access
chiudendo il programma |
|
ArrestaMacro |
Interrompe la
macro in esecuzione |
|
ArrestaOgniMacro |
Similare alla
precedente viene eseguita in concomitanza con errori che non possono essere
gestiti differentemente |
19.4 - Importazione / Esportazione
|
OutputSu |
Invia i dati
dell’oggetto specificato ad un altro programma in formato RTF, oppure XLS,
oppure TXT |
|
InviaOggetto |
Include
l’oggetto in un messaggio di posta elettronica |
|
TrasferisciDataBase |
Importa od
esporta tabelle da o per un altro database |
|
TrasferisciFoglioCalcolo |
Importa/esporta
dati fra il database attivo ed un foglio di calcolo acquisibile da Access |
|
TrasferisciTesto |
Trasferisce dati
da o per il database attivo, trasformandoli in testo |
19.5 - Manipolazione di oggetti
|
ImpostaValore |
Assegna un
valore a un campo, un controllo o una proprietà |
|
ImpostaVoceMenu |
Imposta lo stato
di una voce del menu su una barra personalizzata o su di un menu di scelta
rapida personalizzato |
|
AggiungiMenu |
Permette di
creare una nuova barra dei menu personalizzata |
|
EliminaOggetto |
Elimina
l’oggetto specificato o quello attivo al momento, senza avvertire l’utente |
|
Salva |
Salva qualunque
tabella, query, maschera, report o modulo |
|
RieseguiQuery |
Riesegue la
query specificata per aggiornare i dati in un controllo associato |
|
Chiudi |
Chiude la
finestra specificata o attiva |
|
AggiornaOggetto |
Forza la
rigenerazione di un oggetto specificato, ricalcolando tutte le formule nei
controlli |
|
SelezionaOggetto |
Rende attivo
l’oggetto specificato |
|
CopiaOggetto |
Copia l’oggetto
specificato nello stesso database o in un altro |
|
Rinomina |
Rinomina
l’oggetto specificato |
|
ApriModulo |
Apre una
finestra contenente il modulo VBA specificato |
|
ApriReport |
Apre nella
modalità specificata (Struttura, Anteprima, Stampa) il report scelto, permettendo
di impostare anche un filtro SQL sui dati da visualizzare |
|
ApriMaschera |
Simile alla
precedente, solo riferito all’oggetto maschera |
|
ApriQuery |
Apre una query
in modalità Foglio dati o Visualizzazione struttura o Anteprima
di stampa |
|
ApriTabella |
Stesse
caratteristiche della precedente, ma applicate alle tabelle |
|
ApriDiagramma |
Apre un
diagramma di database |
|
ApriPaginaAccessoDati |
Apre una pagina
web connessa ad un database |
|
Stampa |
Permette di
stampare il foglio dati, il modulo, il report o la maschera attivi |
|
MostraBarraStrumenti |
La barra
personalizzata o standard può essere nascosta o mostrata |
|
MostraOgniRecord |
Elimina i filtri
impostati su dei recordset |
|
InviaTasti |
Inserisce i
tasti battuti nel buffer della tastiera e le invia ad altri oggetti o moduli
per forzare un evento |
|
Clessidra |
Trasforma il
puntatore del mouse in clessidra. Viene usato di solito per evidenziare
l’attesa della conclusione di un’operazione |
|
EcoSchermo |
Visualizza la
sequenza dell’esecuzione delle azioni facenti parte di una macro |
|
ImpostaAvvisi |
Attiva o
disattiva i messaggi di sistema |
|
Ingrandisci |
Ingrandisce la
finestra selezionata |
|
RiduciAIcona |
Riduce a icona
la finestra selezionata |
|
Ripristina |
Riporta una
finestra ingrandita o ridotta ad icona alle dimensioni originali |
|
SpostaRidimensiona |
Permette di
ridimensionare e spostare la finestra attiva |
|
FinestraMessaggio |
Visualizza una
finestra di dialogo contenente un messaggio preimpostato |
Tramite la sezione
Condizioni è possibile impostare una condizione affinché l’azione
corrispondente venga eseguita. Ad esempio se il campo x di una certa maschera è
impostato a NULL allora di deve eseguire una certa azione.
All’interno di una
macro è bene tener presente che non si può far riferimento ad un particolare
record in una tabella, ci si può invece riferire ad un campo in una maschera.
E’ possibile
inserire anche più azioni in un’unica macro, fino a 999.
Si supponga di
aver creato due pulsanti di comando distinti all’interno di maschera ACQUISTI:
uno per eseguire una query di accodamento e l’altro per eseguire la query di
aggiornamento scorte. É possibile unire i due pulsanti in uno unico che esegua
una macro con al suo interno due azioni di esegui query, rispettivamente
accodamento ed aggiornamento.
Tramite le macro è
possibile tuttavia realizzare applicazioni avanzate come creazione di menu a
tendina, controllo d’errore, ecc. Tali tipi di applicazione però sono oggetto
di un utilizzo a livello avanzato della piattaforma ACCESS.
Dopo aver
impostato alcuni tipi di azione bisogna completare la finestra Argomenti
azione, riportando i dati mancanti al fine di un’esatta esecuzione
dell’azione stessa.

Per salvare una macro basta premere
il pulsante
. Apparirà una finestra di dialogo in cui inserire il nome
che si vuol assegnare. E’ importante che esso sia il più chiaro possibile e che
descriva ciò che la macro deve eseguire.

La Pratica
Creare un menu personalizzato che contenga 3 voci: Apri
maschera pazienti, Stampa dati pazienti, Chiudi il programma.
Tabella: Pazienti
Codice Contatore Chiave
Nominativo Testo 100 caratteri
Indirizzo Testo 50 caratteri
CAP Testo 5 caratteri
Città Testo 50 caratteri
Provincia Testo 2 caratteri
DataNascita Data/Ora Data in cifre
Inserire i seguenti dati:

Generare con una Creazione guidata la maschera e il report associati a tale tabella.
Posizionarsi sulla scheda Macro
e premere il pulsante Nuovo
e inserire la prima
azione da far eseguire al nuovo menu:

Da notare che nella finestra Argomenti azione è stato inserito il nome della maschera da aprire in corrispondenza della voce Nome maschera.
Aggiungere il secondo comando

In questo caso è stato specificato il nome del report da aprire (Pazienti) e la modalità (Anteprima di stampa).
Ultimo comando da inserire sarà

Salvare la macro con il nome NuovoMenu.
Quanto fatto serve a creare le singole voci del menu. Ora si passa a creare il menu personalizzato.
Premere il pulsante Nuovo
e impostare l’azione
opportuna

Nella casella Nome menu è stato riportato il nome che apparirà sulla barra grigia, nella casella Nome macro menu il nome della macro appena salvata e in Testo barra stato un commento inerente le operazioni svolte.
Salvare con il nome MenuPersonalizzato.
Per visualizzare tale menu bisogna legarlo alla maschera dei Pazienti, cosicché possa essere eseguito ogni volta che tale maschera viene aperta. Per far ciò aprire in Visualizzazione struttura
la maschera e richiamare le sue proprietà, cliccando due volte sul quadratino nero all’incrocio dei righelli
![]()

Selezionare la voce Altro dalle schede e riportare il nome della macro MenuPersonalizzato in corrispondenza della voce Barra menu

Salvare la maschera Pazienti e provare a visualizzare il risultato in modalità Visualizzazione maschera. Ecco che in cima è apparso il nuovo menu

Provando a cliccare sulla dicitura Menu Personalizzato appariranno le nuove voci

Ognuna di esse risponderà in maniera opportuna dopo esser stata selezionata.
Non è obbligatorio inviare l’esercizio al tutor.
Feedback
Per
chiarimenti, si prega di lasciare la domanda direttamente sul Forum della
piattaforma Maestra.