logo MC2 E-Learning S.a r.l.
Logo Einstein grigio sfumato
e = m x c al quadrato





Fare riferimento a oggetti maschera o report in una macro di Access

Impariamo come fare riferimento ad oggetti maschera o report e quindi anche ai relativi controlli dall'interno di una macro di Access







Nei tutorial precedenti abbiamo appreso come eseguire attività comuni utilizzando comandi dei menu e pulsanti delle barre degli strumenti.

Lavorando con un database è facile constatare che alcune attività si svolgono ripetutamente o a intervalli regolari.

Queste attività si possono rendere automatiche creando macro per eseguire le azioni che si compiono regolarmente e quindi associarle a vari eventi maschera o controllo, come ad esempio l’evento SuCorrente di una maschera, l’evento SuClic di un pulsante di comando o l’evento SuDoppioClic di un controllo casella di testo.

In questo tutorial e nei prossimi si useranno esempi basati sul database GestioneColture.mdb per capire in che modo lemacro possono contribuire adautomatizzare le applicazioni.

Quando si creano macro per automatizzare le operazioni più ricorrenti, spesso è necessario fare riferimento a un report, a una maschera o a un controllo su una maschera perimpostare le loro proprietà o i loro valori.

La sintassi per riferirsi a report, maschere, controlli e proprietà è descritta in questo tutorial.

Regole per riferirsi a maschere e report

Si può fare riferimento a una maschera o a un report per nome, ma innanzitutto bisogna dire ad Access quale insieme contiene l’oggetto di cui si indica il nome.

Le maschere aperte sono nell’insieme Forms, i report aperti nell’insieme Reports.

Per fare riferimento a una maschera o a un report, si fa seguire alnome dell’insieme un punto esclamativo, per separarlo dal nome dell’oggetto a cui ci si riferisce.

Un nome di oggetto che contiene spazi vuoti o caratteri speciali deve essere racchiuso fra parentesi quadre ([])

Se il nome dell’oggetto non contiene spazi o caratteri speciali, basta scrivere il nome. È buona abitudine, però, racchiudere sempre inomi degli oggetti fra parentesi quadre, per avere una sintassi più coerente.

Per fare riferimento a una maschera chiamata OreLavorateOperai, si deve scrivere:

Forms![ OreLavorateOperai]


Per fare riferimento a un report che si chiama OreLavorateOperai , si deve scrivere:

Reports! [ OreLavorateOperai ]


Regole per riferirsi a proprietà di maschere e report

Per riferirsi a una proprietà in una maschera o inun report, bisogna indicare ilnome della maschera o delreport,seguito da un punto e dal nome della proprietà.

Si può vedere un elenco della maggior parte dei nomi di proprietà di unamaschera o di un report aprendo la maschera o il report in visualizzazione Struttura e aprendo quindi la finestra delle proprietà mentre la maschera o il report sono selezionati.

Per aprire la finestra delle proprietà si può premere su F4 oppure fareclic sul pulsante apposito sulla barra degli strumenti di Access, come si vede nella figura seguente:




È possibilemodificare la maggior parte delleproprietà di una maschera mentre è in visualizzazione Maschera (a meno che non si tratti unaproprietà di sola lettura) oppure nel corso di eventi Stampa e Formato dei report quando Access li stampa o li visualizza.

Per fare riferimento alla proprietà BarreDiScorrimento di una maschera che si chiama OpzioniStampa, si deve scrivere:

Forms![OpzioniStampa].BarreDiScorrimento


Per far riferimento alla proprietà BarraMenu di unreport chiamato OpzioniStampa, si deve scrivere:

Reports![OpzioniStampa].BarraMenu


I nomi delle proprietà non contengono spazi, anche se nella finestra delle proprietà sono presentati, per motivi di leggibilità, con spazi.

Per esempio, il nome della proprietà indicata come Colore Sfondo nella finestra delle proprietà è ColoreSfondo.

Regole per riferirsi a controlli di maschere e report e alle loro proprietà

Per fare riferimento a uncontrollo su una maschera o su un report, bisogna scrivere il nome della maschera o del report, seguito da un punto esclamativo e quindi dalnome del controllo, racchiuso fra parentesi quadre.

Per fare riferimento a una proprietà di un controllo, bisogna indicare il nome del controllo, seguito da un punto e quindi dal nome della proprietà.

Si può vedere unelenco, che contiene la maggior parte deinomi delle proprietà dei controlli, aprendo una maschera o un report in visualizzazione Struttura, quindi scegliendo un controllo (si badi che controlli di tipi diversi hanno proprietà diverse) e quindi aprendo lafinestra delle proprietà.

È possibile modificare la maggior parte delle proprietà dei controlli quando la maschera è in visualizzazione Struttura.

Per fare riferimento a un controllo chiamato cmbAnnoCorrente sulla maschera OreLavorateOperai, bisogna scrivere:

Forms![ OreLavorateOperai ]![ cmbAnnoCorrente ]

Per fare riferimento alla proprietà Visibile di un controllo che si chiama Accettato nel report
OreLavorateOperai , si deve scrivere:

Reports![ OreLavorateOperai ]![Accettato].Visibile

Regole per riferirsi a sottomaschere e sottoreport

Quando si incorpora una sottomaschera in una maschera o in un report, la sottomaschera è contenuta in uncontrollo sottomaschera.

Un sottoreport incorporato in un report è contenuto in un controllo sottoreport.

Si può fare riferimento a un controllo sottomaschera o sottoreport esattamente come si farebbe con qualsiasi altro controllo su una maschera o su un report.

Per esempio, supponiamo di avere unasottomaschera chiamata StatisticaOperai inserita nella maschera Operai: per riferirsi al controllo sottomaschera sulla maschera Operai, si deve scrivere:

Forms![Operai]![StatisticaOperai]


Analogamente, si può fare riferimento a proprietà di una sottomaschera o di un sottoreport facendo seguire al nome del controllo un punto, poi il nome della proprietà.

Per fare riferimento alla proprietà Visibile del controllo sottomaschera StatisticaOperai, si deve scrivere:

Forms![Operai]![ StatisticaOperai ].Visibile


I controlli sottomaschera hanno unaparticolare proprietà Form, che consente di fare riferimento alla maschera incorporata nel controllo; analogamente, i controlli sottoreport hanno una particolare proprietà Report, che consente di fare riferimento al report incorporato nelcontrollo sottoreport.

Si può fare seguire al nome di questa proprietà speciale il nome di un controllo sullasottomaschera o sul sottoreport per accedere ai contenuti o alle proprietà delcontrollo.

Per esempio, per fare riferimento al controllo Totale sulla sottomaschera StatisticaOperai, si deve scrivere:

Forms![Operai]![ StatisticaOperai ].Form![Totale]


Per fare riferimento alla proprietà SpessoreCarattere del controllo appena citato, si deve scrivere:

Forms![Operai]![StatisticaOperai].Form![Totale].SpessoreCarattere


Creazione di una macro semplice

Gruppi di macro

Espressioni condizionali

Fare riferimento a oggetti maschere e report

Aprire una maschera secondaria

Sincronizzare due maschere correlate

Convalidare dati immessi dall'utente

Preimpostare i valori nei controlli


Collegamenti ad altri tutorial su Microsoft Access:

Le Relazioni tra le tabelle di Access

Costruire una tabella con Access



Esempi di Macro con Microsoft Access

Tutorials su Microsoft Access




Dr.Maurizio Cucchiara
autore del corso:
"Corso Base di Microsoft Access"
disponibile on line su questo sito
MC2 E-Learning S.a r.l.
Formazione per il Web
http://www.mc2.it/html/access.html


Cerca sul web con Google:


Ricerca personalizzata