Salta al contenuto principale

appunti di microsoft access corretti

inviati in privato da ile,
settembre 2008.

Appunti modulo 5: microsoft access

Ed ora, un po' di pubblicità

:

Per database si intende un insieme di tabelle che contengono dei dati. Ogni tabella e' formata da dei
tampi e l'insieme dei dati contenuti all'interno dei campi formano i record. Un campo e' composto
da due parti: il nome del campo e il suo valore. Un database si definisce relazionale quando mette in
relazione i dati di una tabella con i dati di un'altra tabella. Aprendo il programma ci appare subito la
richiesta se vogliamo utilizzare un database esistente o aprirne uno nuovo. Con freccia su ci
spostiamo su crea database vuoto. Se scegliamo di aprire un database esistente con tab si spostera'
sull'elenco dei database presenti nel sistema. Cosi' sceglieremo il database da aprire. Se invece
scegliamo il database vuoto, con tab diamo ok e ci chiedera' immediatamente il nome del database
che vogliamo creare. A questo punto ci troviamo in una finestra che e' divisa in due parti. Nella
parte sinistra si trovano quattro elementi che ci interessano: tabelle, query, maschere e reports,
elementi presenti sotto forma di pulsanti. Nella parte destra si trova l'elenco delle possibili
operazioni rispetto all'elemento che abbiamo selezionato nella parte sinistra. Appena entrati in
questa finestra, dunque, ci troviamo sulla parte destra. Per ritornare a sinistra ci si muove con il
tasto tab mentre per scorrere l'elenco dei pulsanti utilizziamo freccia giu'. Per attivare il pulsante
che ci interessa e' sufficiente dare spazio. A questo punto, una volta attivato il pulsante, diamo tab e
troviamo l'elenco delle operazioni che si puo' compiere su quel determinato pulsante. Con il
pulsante tabella attivo scendiamo nell'elenco corrispondente e scegliamo crea tabella in
visualizzazione struttura. Dato invio ci si apre una finestra composta da due riquadri posti l'uno
sopra l'altro. Il riquadro superiore si presenta diviso in tre colonne che, come intestazione, hanno
nome campo, tipo dati e descrizione, intestazioni tutte visibili premendo insert freccia su. Il nome
del campo dovra' press'apoco rispecchiare il contenuto del campo stesso. I nomi dei campi non
possono avere spazi al loro interno e per separare le parole si utilizza il sottolineato (shift e tasto
meno). La seconda colonna di questa parte di riquadro e' il tipo di dati e sta ad indicare il tipo di
valore che ha questo campo: numero, testo, data, e si apre come una casella combinata, quindi con
alt freccia giu'. Siccome jaws pero' non legge le opzioni, dobbiamo farcele dire con insert freccia
su. Una volta selezionata l'opzione desiderata si da' invio. La terza colonna di questa parte di
riquadro e' la descrizione, vale a dire la descrizione estesa del contenuto del campo. Con ctrl f4
chiudo la visualizzazione struttura. A questo punto ci si presenta la questione della chiave primaria,
vale a dire uno o piu' campi che hanno nel loro insieme valore univoco, valore che serve per
identificare ogni record in maniera appunto univoca rispetto agli altri records. Abbiamo per esempio
usato, nella creazione della nostra tabella clienti, id_clienti come chiave primaria. Per assegnare la
chiave primaria abbiamo quindi creato un campo il cui nome e' id_cliente e come tipo di dato
abbiamo scelto contatore. Questo tipo di dato numera automaticamente i record, in modo che ogni
volta che si inserisce un record nuovo incrementa di uno. Posizionandoci sul nome campo scelto
come chiave primaria andiamo nel menu' modifica (alt m) e attiviamo la voce chiave primaria. Per
togliere la chiave primaria sara' sufficiente, posizionandoci sullo stesso campo scelto come chiave
primaria, ritornare nel menu' modifica e disattivare questa voce. Una volta terminata la costruzione
della tabella con ctrl f4 ci verra' chiesto di salvare la tabella. Rispondendo affermativamente
dovremo assegnarle un nome come si fa per il normale salvataggio dei files. Torneremo cosi'
nell'elenco delle possibili operazioni e troveremo anche la tabella che avevamo appena creato.
Dando invio sulla tabella ci si aprira' la visualizzazione foglio dati che e' strutturato come una
tabella con un numero di colonne pari al numero dei campi che compongono la tabella e aggiunge
una riga ogni volta che inseriamo un record. Anche nel foglio dati ci spostiamo da un campo
all'altro premendo il tasto tab e con insert freccia su sentiremo il nome del campo ed,
eventualmente, il valore del campo se avremo gia' inserito qualcosa. I dati che inseriamo vengono
salvati automaticamente e con control f4 chiudo anche questa visualizzazione foglio dati. Per
quanto riguarda le proprieta' dei campi ogni campo ha le sue proprieta' utili a controllare
l'inserimento dei dati. Mentre il tipo di campo serve a controllare il tipo di dato da inserire, data,
numero, testo o qualsiasi altro tipo di dato disponibile nel database, la proprieta' del campo
controlla che l'inserimento dati sia corretto rispetto ad alcuni parametri. Ad esempio, nei campi di
tipo testo si puo' controllare la lunghezza del campo per cui dire alla proprieta' di questo campo il
massimo di caratteri da accettare: ad esempio nel campo provincia si possono accettare due caratteri
perche' la provincia non ne ha piu' di due. Cosi' come nel cap il massimo e' cinque perche' e'
formato da cinque caratteri. Nel campo data si puo' scegliere il formato in cui verra' scritta la data,
per cui si puo' scegliere di scrivere e visualizzare il giorno in formato numerico o anche in stringa,
domenica 19 maggio o solo 19 maggio, oppure l'anno in cifre inteso come 07 o 2007. Nei numeri si
possono scegliere di inserire dei numeri interi oppure numeri decimali per cui volere decimali che
possono essere 0,1. C'e' anche il formato valuta che gestisce le valute dei soldi. Altre caratteristiche
comuni a tutti i campi sono l'etichetta che serve per la visualizzazione all'interno del foglio dati e
della maschera, per cui e' la proprieta' che va a sostituire il nome vero e proprio del campo con un
nome piu' esplicativo, ad esempio codice cliente invece che id_cliente. Il valido se inserisce una
condizione per l'accettazione di un valore per cui impedisce che in un campo vengano inseriti dei
numeri non accettabili per quel tipo di campo per cui se sono in una tabella ordini e ho un campo
quantita', se sto eseguendo un ordine non posso accettare che in quell'ordine ci sia la quantita' zero,
per cui nella proprieta' valido se dovro' mettere che e' valido il valore solo se e' maggiore di zero.
Legata alla proprieta' valido se c'e' messaggio di errore per cui se viene inserito un valore non
valido si puo' visualizzare un messaggio personalizzato per spiegare a chi sta inserendo i dati il
motivo per cui non e' valido il dato inserito, messaggio che puo' essere ad esempio valore non
accettato nel campo quantita'. La proprieta' richiesto sta ad indicare che se questa proprieta' e'
impostata su si' vuol dire che quel campo dev'essere riempito e non puo' essere vuoto, mentre se
imposto no si puo' anche avere la possibilita' di non mettere un valore come nel caso del campo
note cliente che puo' anche rimanere vuoto, e' facoltativo. La proprieta' indicizzato se fosse su si'
creerebbe un indice automatico su quel campo particolare. Esiste anche un campo si'/no, un campo
logico che puo' servirci per sapere se un ordine e' stato evaso o no, per cui se il campo logico e' su
si' l'ordine e' evaso, se e' su no l'ordine e' inevaso, puo' servire per effettuare delle scelte, e' un
campo particolare perche' assume solo due valori, si' o no. Per spostare dei campi all'interno di una
tabella bisogna sapere che nella struttura di una tabella si puo' andare a togliere un campo e
inserirlo in un'altra posizione, il campo verra' cambiato di posto anche quando siamo nel foglio
dati. L'ultima proprieta' e' il valore predefinito che e' un valore che posso dare al campo, valore
che verra' inserito automaticamente nel record che sto compilando a meno che non abbia immesso
un valore diverso. Generalmente in un campo in cui non immetto valore questo resta vuoto
mentre quando si inserisce il valore predefinito se non modifico nulla nel campo verra'
inserito il valore predefinito. Per inserire righe vuote in una struttura tabella si fa alt i,
inserisci righe e in questo modo la riga va a posizionarsi sopra a quella su cui ci troviamo. Per
selezionare un campo da spostare si usa shift spazio, si seleziona tutta la sua definizione, poi si
taglia con control x, incollando il campo su uno che gia' esiste con control v il campo esistente
si sposta sotto quello che ho incollato. Per quanto riguarda gli indici sono una parte della
tabella in cui vengono indicizzati (funzionano come indice di un libro) solo i campi di cui fa
parte l'indice, per cui nell'indice scelgo i campi ai quali questo indice fara' riferimento, il
database estrarra' solo i dati di questi campi. Gli indici sono importanti per le ricerche
perche' se si fa una ricerca su un campo indicizzato la cosa sara' piu' veloce che su un campo
non indicizzato, visto che l'indice ha un ordinamento e mantiene ordinati tutti i records
inseriti in una tabella, per cui se l'indice e' ordinato si trova immediatamente cio' che cercavo
e solo allora il database estrae tutti i dati del record. L'indice puo' essere formato solo da un
campo oppure da piu' campi. L'indice su uno o due campi viene creato in modo da poter
essere usato per le ricerche. Possono essere creati anche indici in modo di avere un controllo
sui dati di inserimento cioe' fare in modo che dati uguali di uno stesso ordine, articolo ecc.,
non vengano inseriti, perche' in questo modo posso far si' che non sia univoco, non il campo
unico ma l'insieme dei campi non possano avere lo stesso valore, per cui non posso avere due,
tre records, che hanno nei campi che fanno parte dell'indice univoco, gli stessi valori. Per
creare un indice si fa alt v, dalla visualizzazione struttura, e attivo la voce indici. Siamo in una
finestra con tre colonne: nome indice, campo al quale si deve riferire l'indice e ordinamento
dell'indice. Scrivo nella prima colonna il nome dell'indice, idx_ e dopo il sottolineato le prime
tre lettere di ogni campo di cui fa parte l'indice, ad esempio se si tratta di un indice che fa
riferimento al campo nome scrivero' idx_nom senza punto di abbreviazione. Nella seconda
colonna scelgo dalla casella combinata il campo dell'indice. Nella terza colonna scelgo
l'ordinamento. Nella riga successiva, se l'indice e' formato da un solo campo, si puo' creare
un indice nuovo quindi daro' un altro nome, se l'indice che ho creato sopra ha piu' di un
campo con tab vado sulla seconda colonna e scelgo il secondo campo dell'indice senza dare il
nome perche' fa riferimento all'ultimo nome di indice che ho assegnato. Anche gli indici
hanno le loro proprieta'. Per andare sulle proprieta' dell'indice devo posizionarmi sul nome
dell'indice con le frecce e premo f6. Se l'indice e' primario e cioe' bisogna creare una chiave
primaria si mettera' la proprieta' su si'. C'e' poi la proprieta' univoco, quindi se questo indice
e' univoco oppure no, se l'indice e' univoco i valori dei campi contenuti nell'indice non
possono essere ripetuti. La proprieta' ignora null, il che significa che se imposto la proprieta'
a si' nell'indice non verranno inclusi i records nei quali ci sono campi vuoti, campi riferiti
all'indice. Per tornare alla visualizzazione struttura tabella, alt v, disattivare la voce indici.
Nelle proprieta' sia degli indici che dei campi per leggere il nome della proprieta' dovro'
attivare il cursore jaws, per leggere correttamente il valore della proprieta', invece, dovro'
usare il cursore pc. Una volta entrati in visualizzazione foglio dati, per ordinare i dati bisogna
posizionarsi sulla colonna su cui si vuole fare l'ordinamento, per esempio sul cognome,
scegliere menu' record con alt r, e da qui cercare la voce ordina, da li' poi scelgo se fare un
ordinamento crescente o decrescente. Tutti i dati del record saranno ordinati secondo l'ordine
scelto. Per eliminare un record si seleziona tutto il record con shift spazio, andare in modifica
con alt m e scelgo elimina record. L'operazione e' irreversibile quindi non si puo' annullare.
Per eliminare piu' record, una volta selezionato un record con shift spazio, mi sposto con shift
freccia giu' sui records successivi tante volte quanti sono i records che voglio eliminare e poi
con alt m scelgo la voce elimina record. Una volta eliminati i record i valori usati nel campo
contatore non vengono piu' riutilizzati. Per inserire un record nuovo si fa alt i, inserisci
record, e il record verra' posizionato in fondo. Per quanto riguarda le relazioni, per
cominciare abbiamo preparato tre tabelle, clienti, articoli, ordini, e abbiamo visto che nei
campi numerici e nei campi valuta, tra le proprieta' disponibili c'e' anche quella per cui
decidere quanti numeri decimali mettere dopo la virgola. Nella tabella ordini abbiamo
inserito codice cliente e codice articolo come valore numerico perche' in questa particolare
tabella questi due campi sono ripetibili e fanno riferimento ai codici delle altre due tabelle. Le
relazioni sono oggetti del database che servono per collegare tra loro campi che abbiano al
loro interno dati che possono far risalire ad altri dati, ad esempio il codice cliente della tabella
ordini collegato al codice cliente della tabella clienti mi permette di risalire ai dati anagrafici
della tabella clienti pur non avendoli inseriti nella tabella ordini. Per creare le relazioni si va
nel menu' strumenti con alt s, sottomenu' relazioni. Se non ci sono relazioni create mi si
presenta una finestra da cui selezionare le tabelle che serviranno poi per fare le relazioni. Da
qui posso selezionare una tabella per volta oppure piu' di una tabella, anche tutte. Fatta
questa operazione do spazio sul pulsante aggiungi che trovo spostandomi con il tab. Ora mi
trovo sul pulsante chiudi e si vede una finestra che ha tante colonne quante sono le tabelle che
ho selezionato e per ogni colonna tutti i campi che compongono la tabella. In questa finestra si
presenta un menu' aggiuntivo che e' il menu' relazioni raggiungibile con alt r e che serve per
gestire le relazioni. Nel caso in cui abbia dimenticato una tabella che poi serve per creare la
relazione, si va nel menu' relazioni con alt r e scelgo la voce mostra tabella tornando nella
finestra precedente. Per creare una nuova relazione, dal menu' relazioni scelgo la voce
modifica relazione. C'e' una finestra in cui posso selezionare relazioni gia' esistenti. Devo
spostarmi sul pulsante crea nuova. A questo punto mi viene chiesto di selezionare la tabella di
sinistra che per convenzione abbiamo chiamato tabella padre cioe' la tabella che fara' da
riferimento alla seconda tabella. Generalmente si sceglie come tabella padre la tabella che ha
il campo da mettere in relazione come chiave primaria. Spostandomi con il tab mi viene
chiesta la tabella di destra che chiamiamo tabella figlio che deve far riferimento alla tabella di
sinistra. Con lo stesso procedimento seleziono il campo delle due tabelle su cui costruire la
relazione. Attenzione, il campo dev'essere dello stesso tipo, ad esempio e' difficile mettere in
relazione un campo testo e uno numerico. Effettuate queste scelte trovo il pulsante ok che mi
porta di nuovo nella finestra in cui posso selezionare le relazioni. Mi trovo selezionata la
relazione che ho appena creato. Mi sposto sul pulsante crea confermando la creazione della
relazione. A questo punto mi ritrovo nella finestra dove ho le tabelle. Jaws non dice nulla e
c'e' selezionata la relazione appena creata. Posso modificare le proprieta' della relazione
stessa ritornando nel menu' relazioni e scegliendo modifica relazione. La prima casella che mi
si presenta e' l'integrita' referenziale per cui decidere se all'eliminazione di un record
coinvolto nella relazione devono essere eliminati tutti i riferimenti, per esempio se elimino un
cliente e l'integrita' referenziale e' attiva verranno eliminati tutti gli ordini che fanno
riferimento a quel cliente. Con tab mi sposto e vado a scegliere il pulsante denominato tipo
join, cioe' tipo di relazione. Devo scegliere se la relazione e' uno a uno, cioe' devono essere
inclusi nella relazione solo i record che sono corrispondenti sia da una parte che dall'altra.
C'e' invece la relazione uno a molti e cioe' una relazione che include tutti i records di una
tabella e per ogni record della tabella stessa include tutti i record dell'altra tabella che hanno
il campo uguale. C'e' infine molti a uno in cui vengono selezionati tutti i campi della tabella
che non ha chiave primaria e solo i campi della tabella con chiave primaria che abbiano
corrispondenza nell'altra tabella. Una volta selezionata la join corretta do ok e devo darlo
anche nella finestra di selezione delle relazioni e cosi' ho completato la creazione. Per
eliminare una relazione esistente bisogna andare nel menu' relazioni, modifica relazione,
selezionare la relazione che mi interessa da cancellare, quindi la prima tabella della relazione,
seleziono la tabella ad essa correlata, seleziono il campo che mi interessa della relazione da
cancellare, do invio su ok. A questo punto ho selezionato la relazione e posso premere canc
per eliminarla, eliminazione che e' irreversibile. Non si possono eliminare tabelle che sono
coinvolte in una relazione. Per poterlo fare prima bisogna eliminare le relazioni che
coinvolgono le tabelle che si vogliono eliminare. Per uscire dal menu' relazioni si fa alt f, cioe'
menu' file, e si raggiunge la voce chiudi. Parlando di query intendiamo oggetti che servono
per poter selezionare alcuni dati da una o piu' tabelle. Affronteremo solo query che
permettono di selezionare dati senza andarli a modificare. Per creare una query bisogna
andare nella parte sinistra del database selezionando il pulsante query con lo spazio. Il
linguaggio per creare una query e' nominato SQL che significa structured query language,
cioe' linguaggio strutturato per le query. Questo tipo di linguaggio serve per costruire delle
richieste mirate con dei filtri sui dati di una tabella. Una volta all'interno della visualizzazione
delle query ci sono due voci: crea una query in visualizzazione struttura o mediante creazione
guidata. Scegliamo crea query in visualizzazione struttura. A questo punto ci appare una
finestra che e' mostra tabelle, che non si sfrutta perche' non si va a utilizzare l'ambiente
grafico di access, quindi facciamo esc. Bisogna aprire il menu' visualizza con alt v e andiamo
sulla voce visualizzazione SqL. In questo modo apriamo l'editor per scrivere le query tramite
linguaggio SqL. Cancelliamo tutto cio' che gia' scritto con control shift end e canc e siamo
pronti. L'istruzione che utilizzeremo e' select. La sintassi piu' semplice e': select, spazio, nome
campi da visualizzare, spazio, from, spazio, nome tabella in cui sono contenuti i campi. Questa
particolare istruzione permette di visualizzare i campi selezionati, nell'ordine selezionato nel
momento in cui eseguo la query. Per selezionare tutti i campi di una tabella utilizzo
l'asterisco, shift piu'. Posso scrivere una query cosi': select e asterisco from nome tabella. Per
selezionare solo alcuni campi, dopo select devo specificare la lista dei campi separati tra di
loro dalla virgola, tranne l'ultimo prima del from dopo il quale, dopo il campo, non va la
virgola. L'espressione order by puo' essere usata per ordinare il risultato della query secondo
un campo prestabilito. Questa espressione va inserita in fondo alla query e come valore
predefinito presenta un ordinamento crescente. Per effettuare un ordinamento decrescente
bisogna inserire dopo il nome del campo la parola chiave desc. Oltre ad un filtro sui campi da
visualizzare la query di selezione mi permette di operare un filtro sui records da estrarre.
Pposso quindi specificare delle caratteristiche particolari che corrispondono a quei records.
Per fare questo utilizzo la clausola where tramite cui si possono confrontare dei valori in
modo da estrarre solamente i records che corrispondono a quei particolari valori. Gli
operatori di confronto sono questi: l'uguale, il maggiore, il minore e il diverso da, che si scrive
facendo prima simbolo di minore e poi il simbolo di maggiore. Se per esempio si volesse
estrarre tutti gli articoli di una tabella che costano almeno mille euro dovro' scrivere una
query come questa: select asterisco from articoli where prezzo maggiore uguale, che significa
o maggiori di o uguali a mille euro. I nomi dei campi e delle tabelle vanno messi tra parentesi
quadre. Quando in una query seleziono oppure confronto i campi di piu' di una tabella
bisogna specificare a quale tabella appartiene ogni campo. Bisogna quindi inserire sempre tra
quadre nome tabella, poi il punto e ancora tra quadre il nome del campo, questo per ogni
tabella. Anche nel caso in cui i campi selezionati appartengano ad una sola tabella ma nella
clausola where viene fatto un confronto tra due campi appartenenti a due tabelle diverse, nel
from devono essere specificate entrambe le tabelle, sempre tra quadre e separate da virgola.
Sempre parlando di collegamenti tra due tabelle, importante e' mettere where, poi
tabella.campo, dove per campo si intende chiave primaria, poi si scrive uguale, e si mette tra
quadre tabella e poi il campo che e' la chiave secondaria dell'altra tabella. Avremo quindi una
query come questa: select [clienti].[nome], [clienti].[cognome], [ordini].[quantita] from
[clienti],[ordini] where [clienti].[id_cliente]=[ordini].[id_cliente] and [ordini].[quantita]>=3.
C'e' anche l'operatore like. Avremo, allora, where [nome] like e, se per esempio il nome deve
iniziare per la lettera f, si fa "f*". Le date vanno precedute e seguite sempre da cancelletto.
Quando devono essere effettuati piu' controlli nella clausola where, controlli che si devono
verificare sempre insieme, tra un confronto e l'altro si utilizza l'operatore and. Se, per
esempio, con l'operatore and e con l'operatore or utilizziamo il campo provincia, sia prima
dell'operatore and che dopo il campo va ripetuto. Quando invece in una clausola where ci
sono due o piu' confronti ma e' necessario che se ne verifichi almeno uno si utilizza la clausola
or. Le query devono sempre terminare con il punto e virgola. Una volta terminato di scrivere
la query dando il comando control f4 si salva con un nome che risulti significativo per i dati
estratti. Se nella query viene rilevato un errore di sintassi quindi punteggiature mancanti o
operatori non scritti o numero delle parentesi quadre aperte e chiuse non uguale, l'errore
viene immediatamente rilevato e dando ok si puo' procedere al controllo per correggere.
Quando, eseguendo una query, anziche' i dati, viene visualizzata una finestra con titolo
immissione valore seguito dal nome di un campo, significa che il nome del campo e' stato
immesso in maniera errata. La query cosi' non puo' essere eseguita poiche' il campo non
viene trovato. Per procedere alla modifica della query ci si posiziona sulla query, si fa shift f10
e si sceglie la voce visualizzazione struttura. Quando la query e' stata creata ci si trova
immediatamente nell'editor per scrivere l'SqL. Se si modifica la query si salva e si prova a
rieseguirla. Parlando di maschere bisogna dire che sono gli oggetti del database che servono a
gestire la visualizzazione e l'inserimento dei dati di una tabella. Possono essere utilizzate
anche per visualizzare i risultati delle query. Mentre nel caso in cui io creo una maschera
relativa a una tabella si potranno modificare i dati o aggiungere i records, se la maschera e'
creata su una query non si puo' fare nessuna di queste operazioni perche' la maschera
proviene da una query e non dalla tabella. Per creare una maschera si va sul pulsante
maschere e si sceglie il pulsante crea maschera mediante creazione guidata. La prima
schermata mi permette di scegliere la tabella o le tabelle, o la query su cui costruire la
maschera. A seconda della tabella scelta devo scegliere i campi da visualizzare nella maschera.
Nella scelta dei campi bisogna tenere presenti anche quelli che sono i campi da compilare
obbligatoriamente perche' se tra quelli da visualizzare nella maschera si inseriscono dei
campi ma si lasciano fuori quelli da compilare obbligatoriamente la maschera non funziona.
Per selezionare un campo mi ci posiziono sopra con freccia su e freccia giu' e con il tab mi
sposto sul pulsante che recita maggiore di. Con il pulsante che recita doppia freccia destra
seleziono tutti i campi. Con il pulsante minore di tolgo un campo, quello su cui sono
posizionata attualmente, dalla lista dei campi selezionati. Per togliere tutti i campi scelgo il
pulsante che recita due volte minore di. Per selezionare i campi di piu' tabelle seleziono prima
una tabella e i campi ad essa relativi e poi faccio la stessa cosa con l'altra tabella. Terminata la
selezione dei campi che vanno nella maschera con control tab mi sposto sul pulsante avanti.
Mi viene chiesto il layout della maschera, quindi come verra' visualizzata la maschera, quindi
in forma tabulare, in colonne ecc. Scelgo con la freccia destra uno dei layout che voglio e con
control tab procedo ancora sul pulsante avanti. Se eventualmente volessi cambiare qualcosa
con shift tab o solo con tab vado sul pulsante indietro. La scheda successiva presenta una
scelta di stili della maschera. Tra gli altri: carta di riso, quadretti, cianografico, standard.
Anche qui vale il discorso precedentemente fatto per il layout, cioe' scegliero' lo stile che mi
verra' richiesto. L'ultima scheda chiede il nome della maschera e un gruppo di opzioni per cui
decidere se voglio aprire la maschera per inserire dati oppure se aprirla in visualizzazione
struttura. Come per le tabelle, a cui si assegna un nome che possa risultare in qualche modo
significativo, anche per le maschere, se per esempio il database ci proponesse di default il
nome clienti, al fine di rendere la maschera piu' immediatamente comprensibile, la salvero'
con il nome di maschera clienti. Una volta terminata la creazione della maschera, dando invio
sul nome della maschera, posso aprirla e se e' una maschera creata su una tabella si possono
inserire dei dati o dei records, se e' su una query no. IN tutte le maschere, indipendentemente
da dove siano state create, posso procedere con l'ordinamento proprio come faccio con le
tabelle. Nella visualizzazione con layout a colonne con pagina giu' mi sposto da un record
all'altro e con freccia giu' da un campo all'altro, cosi' come nel layout giustificato. Nel layout
foglio dati e nella tabulazione devo spostarmi sempre con il tab. Per modificare la struttura di
una maschera comprese le proprieta' dei suoi controlli bisogna aprire la maschera in
visualizzazione struttura, posizionandomi sulla maschera e aprendola in visualizzazione
struttura con shift f10. quando ho aperto la visualizzazione struttura, per spostarmi sui
controlli che sono stati creati, devo premere control a e muovermi con il tasto tab. Ogni
controllo ha delle proprieta' che variano a seconda della funzione del controllo, ad esempio
l'etichetta non ha le proprieta' relative ai dati. Per aprire le proprieta' di un controllo, una
volta che ho selezionato il controllo con il tab, do alt invio. A questo punto ci si presenta una
schermata con piu' schede delle quali ci interessano la scheda formato e, se e quando e'
disponibile, la scheda dati. Per andare da una scheda all'altra bisogna usare il cursore jaws
cliccando con il tasto sinistro del mouse (si emula con il numero otto del tastierino numerico)
sulla scheda che interessa. Per modificare le varie proprieta' bisogna scendere con le frecce e
modificare i valori. Nella scheda formato sono presenti tutte le proprieta' relative al formato,
quindi, tra le altre, stile, formato carattere, larghezza colonne. Nella scheda dati, disponibile
solo per le caselle di testo quali puo' essere ad esempio un controllo cognome, ci sono le
proprieta' uguali a quelle dei campi in una tabella. Per chiudere la finestra delle proprieta' si
fa alt piu' effe4. Esistono due tipi di intestazione e pie' di pagina: uno riguarda la pagina
intesa come foglio, l'altro riguarda la maschera. Per inserire un'intestazione o un pie' di
pagina mi posiziono su un controllo etichetta e faccio control c. Il testo sara' copiato negli
appunti. Dopodiche' entro nel menu' visualizza con alt v e scelgo intestazione pie' di pagina o
intestazione maschera. Se la voce intestazione maschera e' attivata la si disattiva e la si
riattiva, viceversa se e' disattivata non serve questa manovra. Con il tab mi sposto sulla
sezione che mi interessa, intestazione maschera o intestazione pagina, a seconda, e faccio
control v per incollare il testo che avevo precedentemente copiato negli appunti dal controllo
precedente. Subito faccio f2 per rinominare l'etichetta e scrivero' l'intestazione o il pie' di
pagina che mi serve. Se devo mettere anche un pie' di pagina oltre che l'intestazione, con il
cursore jaws scelgo pie' di pagina e ci clicco su con il tasto sinistro, procedendo di nuovo con
control v dove c'e' scritto pie' di pagina che cerco con il tab per incollare ancora il testo, e poi
subito faccio f2 per rinominarlo. Una volta terminata la modifica della struttura di una
maschera con control f4 salvo le modifiche. L'ultima parte di access e' data dai report che
sono oggetti del database che vengono utilizzati per la stampa dei dati di una tabella o di una
query. Nel momento in cui avro' bisogno di stampare una serie di dati non si crea una
maschera che nasce piu' che altro per l'inserimento dei dati, ma creo un report. La maschera
si puo' anche stampare, si', pero' non e' cosi' ordinata e non ho una serie di controlli sui dati.
Un report non attua una semplice stampa dei dati di una tabella ma ci offre una possibilita' di
creare una serie di filtri su questa particolare stampa. Ci permette per esempio di
raggruppare i dati a seconda di un determinato campo, per cui laddove ci sono dei records
con un campo con valore comune ci permette di raggruppare quei records insieme anziche'
sparsi. Ovviamente non cambia il contenuto della tabella, l'ordine dei records resta sempre
quello, e' il report che fa questa cosa. Per creare un report vado nella scheda report che si
trova nella colonna sinistra della schermata principale del database e scelgo crea un report
mediante creazione guidata. Dando qui invio la prima schermata si presenta uguale a quella
che abbiamo in creazione maschera, scelgo la tabella, le tabelle o le query da cui estrarre i
dati. Con control tab, nella seconda schermata mi viene chiesto di scegliere, se voglio, il punto
di raggruppamento, cioe' il campo secondo cui verranno raggruppati i dati, per cui il report
attuera' un controllo sul contenuto della tabella creando un punto di raggruppamento ad ogni
variazione del valore del campo stesso. Se, per esempio, in una tabella anagrafe scelgo un
punto di raggruppamento cognome, nel report verra' scritto una volta il cognome e poi
verranno messi nella lista sottostante tutti i nomi che presentano quel cognome, cognome che
verra' riportato solo quando cambiera'. Una volta scelto il punto di raggruppamento mi si
presentano alcune opzioni di raggruppamento che dipendono dal tipo di campo coinvolto nel
raggruppamento. Se ho un campo testo posso scegliere di valutare non la variazione
dell'intero campo ma anche solo della prima lettera, per esempio del cognome o per mettere
in ordine alfabetico tutti i cognomi e i nomi, quindi Bertolassi sopra e poi tutti i nomi sotto.
Per cio' che riguarda i campi numerici le opzioni di raggruppamento riguardano quanti
records bisogna mettere prima che si effettui il cambio pagina. Questo perche' cambiando il
livello di gruppo si cambia anche pagina. Nella schermata successiva, una volta scelte le
opzioni di raggruppamento, ci viene presentata la possibilita' di scegliere un ordinamento per
i cosiddetti record dettaglio, per cui per i record appartenenti al livello di raggruppamento
scelto in precedenza. In questo caso particolare si possono scegliere al massimo quattro campi.
Da ricordarsi che entrando in questa pagina, con tab ci si sposta subito dove dice 1 casella
combinata. Parlando di caselle combinate, sia per cio' che riguarda la creazione di maschere
che per quella dei reports, le caselle combinate non funzionano come al solito, nel senso che
basta aprirle con alt freccia giu', scegliere a seconda del caso e, attenzione, non chiuderle con
invio altrimenti si attivano una serie di pulsanti ingestibili, basta percio' fare tab. A questo
punto posso scegliere il primo campo secondo il quale ordinare il record dettaglio. Nella
casella combinata non sono inclusi i campi scelti nel raggruppamento, per cui se come punto
di raggruppamento ho scelto cognome nella casella combinata non ci sara'. Con tab mi sposto
su un pulsante che jaws non gestisce ma che indica il tipo di ordinamento che dovra' tenere
quel campo. Di default l'ordinamento e' crescente, se voglio cambiarlo daro' spazio su quel
pulsante, da crescente cosi' diverra' decrescente. Il riscontro su questa parte purtroppo non
c'e' se non a report completato. Scelto un campo di ordinamento eventualmente mi viene
proposto di scegliere anche gli altri tre campi, se voglio farlo. SE nella tabella o nella query
che ho scelto per fare il report ho dei campi numerici, sempre in questa finestra ci si
presentera' il pulsante opzioni di riepilogo, pulsante che ci permette di effettuare alcune
operazioni sui campi numerici. Dato spazio sul pulsante opzioni di riepilogo, per ogni campo
numerico come id articolo, prezzo o quantita', ci sono quattro possibilita';: calcolare la
somma, la media, il minimo e il massimo. Queste operazioni si riferiscono ai records di ogni
livello di gruppo. Per sapere su che campo numerico mi trovo quando sto attivando o
disattivando una di queste quattro operazioni, devo usare il cursore jaws e con insert freccia
su mi legge il nome del campo. Il contatore dei campi parte sempre da zero. Una volta scelte le
opzioni di riepilogo, finito il report mi ritrovero' per esempio nella situazione per cui se ho
scelto di riepilogare la somma dei prezzi di un cliente otterro' il totale dei prezzi di quel
cliente. Nella schermata successiva, con control tab, mi trovo sulla scelta del layout del report,
per comodita' scegliamo layout a rientri poiche' e' piu' gestibile con jaws. Con control tab,
infine, scegliamo prima lo stile, tra cui societa' o standard tra gli altri, e il nome con cui
salvare il report, cioe' report seguito da un nome che per noi sia significativo. Terminato
tutto, appare il report che si visualizza con il cursore jaws. Per inserire le intestazioni e pie' di
pagina dei report, basta aprirli in visualizzazione struttura con shift f10, fare subito control a
per selezionare tutto, scegliere un controllo etichetta dove ci sia scritto etichetta disattivato,
fare control c per copiare il testo, attivare il cursore jaws per cercare intestazione e pie' di
pagina, cliccarci su con il tasto sinistro del mouse, fare subito control v e ancora subito f2 per
rinominare l'etichetta con l'intestazione o pie' di pagina corrispondente. Per stampare su file
si apre un report, maschera, query o tabella, aprire il menu' file, scegliere stampa, andare con
il tab fino al pulsante ok e con il cursore jaws cercare il pulsante stampa su file. Cliccarci
sopra con il tasto sinistro del mouse, attivare il cursore pc e dare invio. Poi si da' il nome al
file compreso di estensione prn e confermare dando ok.