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





Definire la maschera pannello comandi principale con il VBA

Impariamo come definire la maschera pannello comandi principale di una applicazione Access con il VBA Visual Basic for Application







La maschera pannello comandi principale, quella che dà all’utente accesso diretto alle attività più importanti dell’applicazione, è, di solito, l’ultima che dobbiamo costruire.

La nostra maschera pannello comandi dovrebbe essere una maschera semplice, con un logo, untitolo e magari non più di otto pulsanti di comando per aprire le maschere che abbiamo definito nell’applicazione.

La figura sotto illustra in visualizzazione Struttura la maschera pannello comandi principale per il database Gestione Clubs.

Unacaratteristica che vale la pena di menzionare qui è l’uso del carattere “&“ nell’impostazione della proprietà Etichetta per ciascun controllo al fine di definire un tasto di scelta rapida per quel controllo.

Nella proprietà Etichetta del pulsante di comando Gruppi, per esempio, la & precede la lettera G.

Questa lettera diventa il tasto di scelta rapida, il che significa che si può “premere” il pulsante Gruppi anche premendo Alt G oltre che utilizzando i metodi più tradizionali, cioè facendo clic con il mouse oppure portandosi sul controllo col tasto Tab e poi premendo la barra spaziatrice o Invio (figura 1).

Bisogna però stare attenti a non duplicare un altro tasto di scelta rapida. Per esempio, il tasto di scelta rapida per il pulsante di comando Club in questo esempio è L, onde evitare un conflitto con il tasto di scelta rapida C del pulsante di comando Contratti.

Si può usare un tasto di scelta rapida per facilitare la selezione di qualsiasi controllo che abbia un’etichetta. Nel caso dei pulsanti di comando, l’etichetta fa parte del controllo stesso.

Per la maggior parte degli altri controlli, si può trovare l’etichetta nell’etichetta collegata.

Possiamo, per esempio, definire tasti di scelta rapida per selezionare pulsanti di opzione oppure pulsanti interruttori in un gruppo di opzioni.

Per ciascun pulsante di comando serve una semplice routine evento per gestire l’evento Click e aprire la maschera appropriata. Ecco la routine per il pulsante Groups:

Private Sub cmdGroups_Click()
    DoCmd.OpenForm ‘frmGroups”
End Sub

Se esiste una barra dei menu personalizzata per attivare un menu per le maschere, si dovrà impostare la proprietà Barra menu del Pannello comandi in modo che punti al nome della barra dei menu personalizzata.

Se abbiamo anche una barra degli strumenti personalizzata per le maschere, dovremo impostare la proprietà Barra degli strumenti.

Nelle applicazioni Libri, College e Gestione Clubs un’unica barra degli strumenti personalizzata per le maschere è usata per tutte le maschere.

Se questa maschera “avvia” l’applicazione è opportuno nascondere la finestra Database.

Ecco la routine dell’evento Caricamento (Load) della maschera PannelloComandi nel database Gestione Clubs:

Private Sub Form_Load()
    'Arresta l'intermittenza dello schermo
    Application.Echo False
    'Seleziona un oggetto nella finestra Database
    DoCmd.SelectObject acForm. “frmMain, True
    'e nasconde la finestra
    DoCmd.RunCommand acCmdWindowHide
    'Presenta il nostro lavoro
    Application.Echo True
End Sub

Si osservi che la routine nasconde la finestra Database (più avanti, vedremo che si possono anche impostare proprietà di avvio per nascondere questa finestra), selezionando un oggetto noto nella finestra Database per mettere il focus su questa finestra e poi eseguendo il comando WindowHide.

Questa particolare applicazione è progettata per “chiudersi" quando si chiude questa maschera principale, perciò c’è anche una routine per gestire l’evento Close:

Private Sub Form_Close()
     DoCmd.SelectObject acForm, me.name, True
End Sub

Si osservi che questo codice seleziona di nuovo un oggetto noto nella finestra Database, ottenendo così l’effetto di visualizzare la finestra Database se al momento era nascosta.

Usare il Gestore pannelli comandi

Se la nostra applicazione è ragionevolmente complessa, potrebbe volerci del tempo per costruire tutte le maschere dei singoli panneffi comandi che servono per navigare nell’applicazione.

Access ha una utility Gestore pannelli comandi con la quale si possono costruire rapidamente maschere per i pannelli comandi.

Questa utility si serve di una tecnica creativa per gestire tutte le maschere dei pannelli comandi usando un’unica maschera.

Utilizza una tabella di pilotaggio, detta Voci pannelli comandi, per permettere di definire qualsiasi numero di maschere per i pannelli comandi, ognuna delle quali può contenere fino aotto pulsanti di comando.

Per avviare il Gestore pannelli comandi, si seleziona Aggiunte (oUtilità database) dal menu Strumenti e poi si sceglie Gestore pannelli comandi dal sottomenu.

L’utility verificherà se nel database ci sono già una maschera per i pannelli comandi e una tabella Voci pannelli comandi.

Se non ci sono, il Gestore pannelli comandi visualizza la finestra di messaggio illustrata nella figura sotto, chiedendo se si vogliono costruire (figura 2).

Dopo aver costruito uno scheletro di maschera per i pannelli comandi e una tabella Voci pannelli comandi (o aver stabffito che questi oggetti si trovano già nel database), il Gestore pannelli comandi visualizza la finestra principale, illustrata nella figura qui sotto.

Per costruire una maschera (detta “pagina” dall’autocomposizione) addizionale del pannello comandi, si fa clic sulpulsante Nuovo e si immette un nome per la nuova maschera nella finestra di dialogo che ne risulta. Per crearla, si fa clic su OK. (figura 3).

Dopo aver creato le maschere supplementari che ci servono, possiamo selezionarne una nella finestra principale del Gestore pannelli comandi e fare clic sul pulsante Modifica per cominciare a definire la azioni nella maschera.

Si vedrà una finestra simile a quella della figura seguente, in cui si può creare una nuova azione, modificarne una già esistente, oppure cambiare l’ordine della azioni (figura 4).

Quando avremo terminato, il Gestore pannelli comandi salva la maschera del pannello principale con il nome Pannello comandi (Switchboards Items), nome che possiamo cambiare.

Se si vogliono cambiare i nomi della tabella Voci pannelli comandi, bisogna accertarsi di modificare anche leroutine VBA memorizzate con la maschera del pannello comandi in modo da cambiare tutti i riferimenti a quella tabella.

Sarà necessaria cambiare anche l’origine dei record della maschera.

La figura seguente illustra un esempio di maschera Pannello comandi per il database Gestione Clubs (figura 5).



Esempi di accesso ai dati con VBA 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