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    

19.1  -  Le Macro

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:

19.2  -  Selezione dati

 

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

 

19.3  -  Esecuzione di attività

 

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

19.6  -  Esercizio

 

Esercizio sulle Macro

 

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.