1. Office & VBA
●Apprendere l'utilizzo
avanzato della suite MS
Office
●Object Linking Exchange
(OLE)
●Visual Basic for
Applications (VBA)
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
2. Che cos'è Microsoft Office?
È una suite applicativa
costituita da una serie di
strumenti differenziati in
dipendenza della versione
posseduta
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
3. Riassunto della prima giornata
✔ Microsof Access è un RDBMS con interfaccia grafica che fonde
l'architettura JET a una semplice interfaccia grafica
✔ I campi sono i dati elementari mentre le tabelle raggruppano più campi
(es. rubrica indirizzi: ciascun nominativo è un insieme di più campi)
✔ Le query sono particolari rappresentazioni delle tabelle che riportano
solo le informazioni che rispondono a determinati criteri
✔ La rappresentazione gerarchica delle tabelle è identificato dalle
relazioni.
✔ Le interfacce sono uno strumento per rappresentare i dati in un modo
“user friendly”.
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
4. Il programma del corso – 2° giorno
● Griglie e maschere
● Le macro
● Gli eventi sulle maschere
● Primi accenni VBA
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
5. Le maschere
Sono interfacce che semplificano la consultazione e la
gestione dei dati archiviati nel database.
Le maschere possono essere associate a tabelle o a query
(o viste).
È possibile configurare l'aspetto e il funzionamento di
ciascuna maschera sfruttando le proprietà e gli eventi.
Access offre alcune funzionalità standard che svolgono una
specifica azione nel contesto del database.
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
6. I controlli di un modulo
Alcuni componenti standard utilizzabili sul modulo:
● Etichette
● Caselle di testo
● Caselle di selezione singola e multipla
● Bottoni
● Cornici ed elementi di raggruppamento
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
7. Formattazione dei campi
È possibile in Access determinare in che modo l'utente inserirà
il dato in un campo che non coincide necessariamente con il
modo in cui il dato viene memorizzato nel Database.
Codice Descrizione
0 carattere numerico compresi tra 0 e 9
carattere alfabetico compreso tra A e Z (case
L
insensitive)
A Carattere alfanumerico (tra A e Z e tra 0 e 9)
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
8. Componenti avanzati
Esistono componenti aggiuntivi che è possibile inserire su un
modulo.
Alcuni sono predisposti per un utilizzo integrato in Microsoft
Access sfruttandone le caratteristiche, altri invece richiedono
una manipolazione delle caratteristiche e dei valori tramite
l'utilizzo di script.
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
9. Sottomaschere
● In una maschera è possibile integrare una o più
sottomaschere
● Tale operazione è fattibile tramite l'utilizzo di una procedura
guidata.
● Se esistono relazioni tra la tabella sorgente della maschera
principale e la tabella associata alla sottomaschera, le
informazioni presenti nella sottomaschera saranno
automaticamente messe in relazione e quindi aggiornate in
base alla stessa relazione.
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
10. Il programma del corso – 2° giorno
✔ Griglie e maschere
● Le macro
● Gli eventi sulle maschere
● Primi accenni VBA
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
11. Le macro
● Sono un insieme di operazioni nel contesto applicativo che si
susseguono in un preciso ordine.
● Ciascuna macro può contenere una o più operazioni in
sequenza
● Ciascuna macro ha un nome univoco nel Database
● L'elenco delle operazioni può essere condizionato da una
particolare espressione (punti decisionali).
● Una macro ha modo di essere applicata a diversi contesti
simili tra loro.
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
12. Il programma del corso – 2° giorno
✔ Griglie e maschere
✔ Le macro
● Gli eventi sulle maschere
● Primi accenni VBA
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
13. Gestione degli eventi
• Le maschere di Microsoft Access sono orientate agli eventi
• Un evento viene scatenato in corrispondenza di una
precisa operazione dell'utente che interagisce con la
maschera
• Per ogni oggetto esistono particolari eventi
• Di default a ciascun evento non è associata alcuna azione
• Ad ogni evento è possibile associare una sola azione
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
14. Gli eventi
Per ciascun evento è possibile specificare il tipo di
operazione da eseguire:
● Generatore di codice
● Esecuzione di macro
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
15. Il programma del corso – 2° giorno
✔ Griglie e maschere
✔ Le macro
✔ Gli eventi sulle maschere
● Primi accenni VBA
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
16. VBA – Visual Basic for Applications
VBA è un linguaggio di Scripting derivato
dal Visual Basic (da cui prende il nome).
Come ogni linguaggio ha le sue regole.
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
17. Dichiarazione di una variabile
Una variabile può essere identificata come un cassetto che
contiene un'informazione particolare al quale viene assegnata una
classificazione.
Dim x As Integer
Dim y As Integer, z As Integer
Dim verifica As Boolean
Per ciascuna variabile è possibile specificare il tipo di dato esatto
che dovrà contenere.
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
18. Assegnare e richiamare un valore da
una variabile
La sintassi per l'assegnazione è la seguente:
NomeVariabile = Valore
NomeVariabile è il nome della variabile precedentemente
dichiarato e Valore è il valore da assegnare alla variabile
NomeVariabile (coerente con il tipo di dato specificato in
fase di dichiarazione per la variabile NomeVariabile).
Valore può essere un'espressione, una variabile o una
costante fissa.
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
19. Scope (o visibilità) di una variabile
Le variabili possono avere diversa visibilità a seconda del posto
e del modo in cui vengono definite:
● Variabile locale (definita in un metodo)
● Variabile di modulo (definita a livello di interfaccia o di
modulo)
● Variabile di progetto (definita in un modulo)
● Variabile di classe (definita in un modulo di classe)
È buona pratica forzare la dichiarazione delle variabili ( usare
Option Explicit come prima istruzione del modulo)
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
20. Variabili: operazioni elementari
C = A + B Somma di due valori numerici
C = A – B Differenza tra due valori numerici
C = A * B Moltiplicazione tra due valori numerici
C = A / B Divisione del valore numerico A per B
C = A % B Resto dell'operazione A / B
C = A & B Concatenazione di stringhe
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
21. Le classi
Class Coordinate()
Le classi sono Public X as Integer
Public Y as Integer
strutture particolari
Public Sub setX(valore as Integer)
che raggruppano X = valore
un insieme di End Sub
Public Function getX() as Integer
variabili (proprietà)
getX = X
e funzioni (metodi). End Function
…
End Class
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
22. Gli oggetti
Gli oggetti sono Il modo di interagire con un oggetto o
classi speciali che con una classe è tipicamente analogo
hanno oltre alle Dim c as new Coordinate
proprietà e ai Oppure
metodi dei metodi Dim c as Coordinate
Set c = new Coordinate
speciali identificati
c.setX(123)
con il nome di X = c.X
Eventi. c.X = 321
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
23. Il programma del corso – 3° giorno
● Blocchi condizionali
● If Then Else
● Select Case
● Cicli Iterativi
● For
● While
● Do
Giorno 2
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info