Descrizione

Le macro Autoexec e Autokeys.

Obiettivi della lezione

Saper impostare delle macro che vengono eseguite senza essere richiamate: Autoexec e Autokeys. Saper impostare i relativi tasti di scelta rapida.

Indice lezione

Lezione 20  -  Database

20.1          Le macro Autoexec e Autokeys;

20.2          La combinazione di tasti;

20.3          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    

20.1  -  Le macro Autoexec e Autokeys

 

Esistono alcuni nomi di macro che permettono di definire azioni che verranno eseguite anche senza essere richiamate direttamente. Le più importanti ed utilizzate sono Autoexec ed AutoKeys.

La prima permette di definire tutte le azioni che dovranno essere compiute quando il programma verrà aperto, come ad esempio far visualizzare immediatamente una maschera con il menu principale, oppure presentare una maschera per l’inserimento di una password di accesso. Tale macro viene ricercata automaticamente da Access all’esecuzione del programma: se presente essa verrà eseguita.

E’ bene quindi non usare questi nomi  per impostare altre macro richiamabili da maschere, perché esse agirebbero in ogni istante, indipendentemente dalle chiamate.

 

Per creare una macro Autoexec operare come segue:

  1. selezionare la scheda Macro nella finestra Database, e fare clic su Nuovo;
  2. aggiungere le azioni da eseguire nella colonna Azioni;
  3. salvare la macro con il nome Autoexec.

 

La seconda invece permette di definire le azioni che vengono compiute premendo una determinata sequenza di tasti. Ad esempio: è possibile impostare l’apertura di una agenda premendo il tasto F2, oppure associare al tasto F3 l’esecuzione di una query.

Per creare una macro AutoKeys operare come segue:

1.       selezionare la scheda Macro nella finestra Database, e fare clic su Nuovo;

2.       premere il tasto Nome Macro  ;

3.       digitare il codice del tasto nella nuova colonna apparsa;

4.       aggiungere le azioni da eseguire nella colonna Azione;

5.       salvare la macro con il nome Autokeys.

 

20.2  -  La combinazione di tasti

 

La tabella seguente riporta i codici dei tasti speciali che possono essere utilizzati:

Tasto

Codice

BACKSPACE

{BACKSPACE}, {BS}, o {BKSP}

INTERR

{BREAK}

BLOC MAIUSC

{CAPSLOCK}

CANC

{DELETE} o {DEL}

FRECCIA GIÙ

{DOWN}

FINE

{END}

INVIO

{ENTER}o ~

ESC

{ESC}

AIUTO

{HELP}

HOME

{HOME}

INS

{INSERT} o {INS}

FRECCIA SINISTRA

{LEFT}

BLOC NUM

{NUMLOCK}

PGGIÙ

{PGDN}

PGSU

{PGUP}

STAMP

{PRTSC}

FRECCIA DESTRA

{RIGHT}

BLOC SCORR

{SCROLLLOCK}

TAB

{TAB}

FRECCIA SU

{UP}

F1

{F1}

F2

{F2}

F3

{F3}

F4

{F4}

F5

{F5}

F6

{F6}

F7

{F7}

F8

{F8}

F9

{F9}

F10

{F10}

F11

{F11}

F12

{F12}

F13

{F13}

F14

{F14}

F15

{F15}

F16

{F16}

Una combinazione di tasti che includono MAIUSC, CTRL e ALT, vanno specificati anteponendo al codice del tasto uno o più dei seguenti simboli:

Tasto

Codice

MAIUSC

+

CTRL

^

ALT

%

 

Quando vengono usati tali tasti in concomitanza con altri, racchiudere il codice tra parentesi. Per indicare, ad esempio, che occorre tenere premuto CTRL mentre si premono A ed S, scrivere ^(AS). Per indicare che occorre tenere premuto ALT mentre si preme A quindi rilasciare ALT e premere S, specificare %AS.

Per indicare la ripetizione di un tasto, utilizzare la forma {tasto numero}. Inserire uno spazio tra tasto e numero. Ad esempio, {CANC 3} significa premere il tasto CANC per 3 volte.

E’ così possibile crearsi dei “tasti veloci” per compiere delle azioni.

 

Utilizzando anche le Condizioni è possibile personalizzare ulteriormente le funzioni dei tasti. Si pensi ad esempio di voler far in modo che il tasto {F12} consenta di aprire il report associato alla maschera in cui ci si trova. Il risultato potrebbe essere il seguente:

Nel campo Condizione è stata usata la proprietà

Screen.ActiveForm.Name

(propria del motore di Access, Microsoft Jet Engine) per testare quale fosse la maschera attiva (aperta) al momento.

Esistono numerose altre proprietà di Microsoft Jet Engine, che permettono di lavorare con ogni tipo di oggetto di Access (Tabelle, Maschere, Report, Query, Moduli, Macro). Esse sono comunemente usate a livello di codice Visual Basic for Applications affiancate ad una conoscenza di programmazione vera e propria. Si prendano quindi per buono quelle riportate: esse saranno comunque sempre spiegate.

 

Facendo riferimento alla figura sopra riportata si può notare che alla pressione del tasto {F12} è stata impostata l’apertura del report “Pazienti” se la maschera aperta è “Pazienti”, mentre verrà aperto il report “Prenotazioni” se la maschera attiva sarà “Prenotazioni”.

Si è aggiunto inoltre il tasto {F11} per poter stampare dalla maschera “Prenotazioni” solo i dati inerenti la data corrente. Come ben evidenziato in figura, la proprietà Condizione WHERE associata al tasto {F11} è impostata con la condizione [DATA]=Date(). La funzione Date(), come visto nella lezione sulle query parametriche, restituisce sempre la data impostata sul pc.

La macro appena spiegata non può essere provata seduta stante in quanto priva di ogni riferimento a Database già impostati.

 

La Pratica

20.3  -  Esercizio

 

Creare le seguenti tabelle

ANAGRAFE

            Matricola         5 caratteri chiave

            Cognome         20 caratteri

            Nome              15 caratteri

            DataNascita     data

 

DIPLOMATO

            Matricola                     5 caratteri

            Sezione                        1 carattere

            IndirizzoStudio 20 caratteri

            Voto                            numerico

            Anno                           4 caratteri

 

Creare una maschera di avvio in cui si possa inserire in un campo il valore di un generico anno. Successivamente impostare una maschera ove siano visualizzati Matricola, Cognome, Nome, Sezione, IndirizzoStudio, Anno, Voto filtrati in base al campo suddetto. Realizzare una macro che alla pressione del tasto F8 consenta di visualizzare i dati così ottenuti.

Inserire i seguenti dati nella tabella DIPLOMATO:

 

Nella tabella ANAGRAFE riportare i seguenti valori

La maschera di avvio sarà composta semplicemente da un campo NON associato di nome “annofiltro”, in cui sarà possibile inserire il valore desiderato. Aggiungere inoltre un’etichetta come da figura.

 

 

Salvare la maschera con il nome “Avvio”.

Per poter creare la seconda maschera si imposti prima una query.

In essa dovranno essere presenti entrambe le tabelle di questo esercizio, poste in relazione, con un JOIN esterno,  tramite il campo “Matricola” (Il procedimento per impostare tale legame è identico a quello spiegato nell’esercizio della lezione 18).

Sulla griglia QBE riportare i campi “Matricola”, “Cognome”, ”Nome”, “Sezione”, “IndirizzoStudio”, “Voto”, “Anno”; porre nella cella Criteri sotto il campo “Anno” la condizione [Forms]![Avvio]![annofiltro]. Ciò vuol dire che il valore impostato nella casellina “annofiltro” nella maschera “Diplomi” farà da filtro alla query.

 

 

Salvare la query con nome “Diplomi”

Creare una maschera usando l’autocomposizione che sia legata alla query “Diplomi”, applicare un layout di tipo “Tabulare” e salvarla come “DiplomiAnno”.

Una possibile impostazione potrebbe essere la seguente:

 

A questo punto bisognerà creare le due macro, cioè quella che permetterà di aprire in automatico la maschera “Avvio” (Autoexec) e quella per la gestione dei tasti (Autokeys)

 

La macro AUTOEXEC dovrà contenere nel campo Azione il comando ApriMaschera; nella proprietà Nome maschera bisognerà scegliere dal menù a tendina la maschera “Avvio”.

 

Salvarla con nome "Autoexec".
La macro AUTOKEYS dovrà visualizzare al suo interno anche le colonne Nome macro e Condizione, premendo prima il tasto  e poi il tasto . Nella prima colonna inserire il codice del tasto F8, cioè {F8} e nella seconda impostare la condizione [screen].[activeform].[Name]=”Avvio”.

L’azione associata sarà l’apertura della maschera “DiplomiAnno”.

 

 

Salvarla con nome “Autokeys”.

Chiudere Access. Riaprire il database facendo doppio click sull’icona del file. In automatico verrà aperta la maschera “Avvio”.

Inserire successivamente nel campo con etichetta “Anno” il valore 2000, premere INVIO per confermare il dato e premere il tasto F8 per far apparire la maschera DiplomiAnno riportante i seguenti valori:

 

 

 

Non è obbligatorio inviare l’esercizio al tutor.

Feedback

Per chiarimenti, si prega di lasciare la domanda direttamente sul Forum della piattaforma Maestra.