Modulo 5 – Database (Office XP) 5.1.1 – Concetti fondamentali 5.1.1 – Concetti fondamentali [ 5.1.1.1 ] MS Access, a differenza degli altri applicativi del pacchetto Office, è un programma che necessita di alcune conoscenze di base specifiche, per essere utilizzato in modo efficace. Le funzionalità presenti in questo programma possono essere suddivise in due grandi categorie. Da un lato, hai a disposizione gli strumenti che ti permettono di progettare la struttura del database e di realizzare l'interfaccia grafica, destinata all'utente finale. Dall'altro, sono presenti le funzioni che consentono l'utilizzo del database, per l'immissione dei dati e l'interrogazione degli archivi. Risulta, pertanto, importante trattare i concetti teorici di base, che riguardano un database. Essi ti mettono nella condizione di affrontare ogni singolo tema e ti rendono consapevole degli obiettivi da raggiungere. Non ti spaventare se, alla prima lettura, alcuni concetti ti sembreranno un po' ostici. Il mio consiglio è di tenere sempre presente questo primo tema e di tornare a sfogliarne i contenuti durante tutto il corso, per comprendere meglio tutte le funzioni che verranno descritte. La definizione di database è semplice e precisa: un database è un archivio elettronico, dotato di un programma di interfaccia, che facilita la registrazione e la ricerca dei dati. Per meglio comprendere queste poche parole, facciamo un esempio. Un database che viene regolarmente usato, se non in formato elettronico almeno in formato cartaceo, è la rubrica del telefono. Essa contiene un insieme di dati, omogenei a gruppi, cioè facenti parte di categorie diverse e organizzati secondo uno schema ben preciso. Nel corso del tema, descriveremo questa struttura e ne evidenzieremo le particolarità. [ 5.1.1.2 ] Attualmente, il tipo di database più diffuso è quello relazionale, che è oggetto della nostra analisi. L’oggetto principale di un database relazionale, il cuore della sua struttura, è la Tabella. Una tabella o più tabelle, collegate tra loro, ne costituiscono l’organizzazione. In una tabella, le colonne rappresentano la tipologia di un dato, ossia cosa il dato rappresenta. Nell’esempio che abbiamo citato prima, la rubrica del telefono, in una colonna verranno registrati tutti i dati Nome e cognome, in un’altra colonna tutti gli Indirizzi, in una terza tutti in Numeri di telefono e così via, fino ad arricchire la struttura con diverse tipologie di dati. In un database, ogni colonna di una tabella viene indicata con il nome di Campo. Ogni riga della tabella rappresenta, invece, l’insieme dei dati, che si riferiscono a un unico soggetto. Sempre facendo riferimento alla rubrica del telefono, ciascun contatto è contenuto su una riga della tabella ed è composto dall’insieme dei dati presenti in ciascun campo. Chiamiamo tale elemento, la riga della colonna, Record. 1 Modulo 5 – Database (Office XP) 5.1.1 – Concetti fondamentali Ogni campo di una tabella viene generato per contenere un tipo specifico di dato. In una tabella, dunque, ogni campo dovrà essere riconoscibile dagli altri attraverso un nome, la sua Etichetta. Inoltre, il campo dovrà essere un “contenitore” adatto ad accogliere un certo tipo di dato. Questa caratteristica di ciascun campo viene controllata attraverso l’impostazione di parametri come il Tipo di dato e gli Attributi del campo. Analizzeremo in dettaglio entrambi i controlli, nel corso di questo tema. [ 5.1.1.3 ] All’interno di una tabella, come abbiamo visto, ogni riga rappresenta un record. È opportuno che ogni record della tabella possa essere perfettamente distinto da qualsiasi altro. Per questo, ogni record conterrà un valore in un campo, o una combinazione di più valori in più campi, che permettano la sua identificazione univoca. Tale valore prende il nome di Chiave primaria. Nella fase di realizzazione della tabella, dovrai indicare quale campo, o quale combinazione di campi, avranno il ruolo di Chiave di ricerca primaria. Perché la chiave primaria possa svolgere il ruolo di elemento di identificazione univoco del record, è necessario che il suo valore non abbia duplicati all’interno della tabella. Esistono delle situazione nelle quali è difficile individuare uno o più campi che abbiano le caratteristiche adatte a svolgere il ruolo di chiave di ricerca primaria. In questi casi, puoi generare un campo aggiuntivo, fatto apposta per svolgere tale compito. Esempi di codici identificativi aggiuntivi sono: il Numero di matricola di uno studente universitario e il Codice personale del dipendente di un’azienda. L’eventuale operazione di assegnazione di un identificativo può essere fatta in automatico dal sistema, qualora, durante la generazione di una tabella, non venga indicata nessuna chiave di ricerca primaria. In questo caso, al momento della chiusura e del salvataggio della maschera, il programma ti avverte della mancanza di un campo di questo tipo e ti chiede l’autorizzazione a inserirne uno ad hoc. Il campo che viene inserito nella tabella è di tipo contatore, cioè al suo i nterno viene inserito un numero progressivo per ogni nuovo record, che viene registrato in archivio. [ 5.1.1.4 ] Oltre alla non duplicabilità dei dati, cioè la caratteristica di contenere valori unici all’interno di una tabella, un campo deve essere associato a un Indice, per essere Chiave di ricerca primaria. Questa seconda proprietà ti permette una ricerca random dei dati, ossia la loro individuazione immediata, quando li richiedi. La ricerca Random viene anche indicata con il termine ricerca Casuale, in quanto permette di individuare velocemente un record, scelto a caso. 2 Modulo 5 – Database (Office XP) 5.1.1 – Concetti fondamentali Per i campi non associati a indici, al contrario, è possibile solo la ricerca di tipo Sequenziale, che allunga i tempi di risposta del sistema, perché si arrivi al record voluto scorrendo tutti quelli che lo precedono. Un esempio di facile comprensione può essere la differenza tra un CD e una musicassetta. Il primo ti permette di selezionare la traccia desiderata, operando una ricerca di tipo random. Nella cassetta, invece, dovrai scorrere il nastro, fino ad arrivare al punto di inizio della canzone che vuoi ascoltare; operando una ricerca di tipo sequenziale. È chiaro che questo tipo di ricerca risulta meno veloce. L’attributo di associazione a un indice non riguarda, però, solo il campo chiave primaria. Puoi impostare tale parametro per tutti i campi, che presupponi vengano interrogati con maggiore frequenza, rendendone più veloce la ricerca. Fai, comunque, attenzione perché l’associazione a un indice, se da un lato migliora la modalità di ricerca dei dati, dall’altro complica notevolmente la struttura dal database, riducendone le prestazioni globali. In tal senso, durante la fase di progettazione, l’associazione agli indici dei singoli campi è una delle fasi più importanti e più delicate. [ 5.1.1.5 ] Il database relazionale è quello attualmente più diffuso, grazie alla sua flessibilità e alla maggiore facilità d’uso. Come abbiamo già detto, un database relazionale è costituito da un insieme di tabelle, due o più, correlate tra loro attraverso Relazioni tra campi. Le relazioni consentono di costruire insiemi di dati, Record logici, aggregando campi appartenenti a tabelle diverse. Una struttura di questo tipo è finalizzata a evitare che debbano essere inseriti più volte gli stessi dati. Le ridondanze, cioè le ripetizioni dei dati, non solo rappresentano un onere di registrazione aggiuntivo, ma costituiscono anche un serio problema, nel caso tu abbia la necessità di effettuare aggiornamenti. Facciamo un esempio per chiarire al meglio come funziona la struttura appena descritta. Abbiamo citato l’elenco telefonico, come esempio di database, e abbiamo individuato la struttura della tabella che lo compone. Ora aggiungiamo una seconda tabella, per registrare, ad esempio, ogni telefonata effettuata. Questa seconda tabella conterrà una serie di informazioni, riguardanti la singola telefonata (data, ora, durata, argomento della conversazione) e un campo in cui verrà registrato il nome dell’interlocutore. Tutti i dati, che riguardano l’interlocutore stesso, sono già presenti nella prima tabella ed è quindi inutile inserirli di nuovo in questa nuova struttura. Ogni volta che registriamo una telefonata, possiamo automaticamente 3 Modulo 5 – Database (Office XP) 5.1.1 – Concetti fondamentali collegare i dati della telefonata a quelli dell’interlocutore, senza doverli riscrivere. Inoltre, nel momento in cui un interlocutore cambia indirizzo, se sei interessato solo al dato aggiornato, ti basta modificare il dato nella prima tabella, per aggiornare tutto l’archivio. Esistono tre tipi di relazione, in base alla modalità con la quale sono collegate tra loro le tabelle. • Relazione uno a uno: a un record di una tabella corrisponde, al massimo, un solo record di un’altra tabella. Questo tipo di relazione può essere sostituita, inserendo i dati della seconda tabella direttamente nella prima. Non esiste, infatti, il problema della ridondanza dei dati, essendo la relazione biunivoca. In realtà, la relazione uno a uno viene usata per gestire dati particolari, per un numero particolare di record, o dati che hanno una rilevanza limitata nel tempo, e che possono essere eliminati, in un secondo tempo. • Relazione uno a molti: a un record di una tabella corrispondono più record di un’altra tabella, non è vero il contrario. Questo è il tipo di relazione più comune e viene utilizzata per risolvere i problemi di ridondanza, come nell’esempio citato in precedenza. • Relazione molti a molti: a un record della prima tabella corrispondono più record della seconda tabella ed è vero il contrario. Questo tipo di relazione non è gestibile direttamente, ma occorre scinderla in due relazioni uno a molti, utilizzando una tabella intermedia. Nell’esempio precedente si dovrebbe utilizzare questo terzo tipo di relazione, nel caso di telefonate, effettuate in teleconferenza a più persone. In un database relazionale, è importante che venga mantenuta l’integrità dei dati, che viene garantita dall’integrità delle relazioni. [ 5.1.1.6 ] Potresti, ad esempio, volerti assicurare: che non venga registrata nessuna telefonata a interlocutori che non sono registrati in archivio; oppure che non possa essere cancellato un interlocutore al quale fanno riferimento delle telefonate. Puoi attivare questa serie di controlli, indicando al sistema di mantenere un’Integrità referenziale. L’integrità referenziale ti consente di avere dei controlli automatici sull’effettiva possibilità di collegamento tra due tabelle, nelle fasi di registrazione, cancellazione e aggiornamento dei record. Anche in questo caso, l’attivazione o meno dell’integrità referenziale in una relazione deve essere valutata al meglio, in fase di progettazione. Se, da un lato, questi controlli salvaguardano il tuo database da una serie di inconvenienti, dall’altro ti impongono una serie di vincoli, che potrebbero mettere in crisi la gestione dell’archivio. 4 Modulo 5 – Database (Office XP) 5.1.2 – Primi passi con un database 5.1.2 – Primi passi con un database [ 5.1.2.1 ] Dopo aver esaminato i concetti teorici, che rappresentano le basi nell'utilizzo di un database, cominciamo a prendere contatto con il programma vero e proprio. Come accade spesso in ambiente Windows, esistono diversi modi per aprire l’applicazione MS Access. Tra questi, il metodo riconosciuto come standard è di lanciare l’applicazione, attraverso il menu Start. Procedi in questo modo: • fai clic su Start; • seleziona Tutti i programmi; • fai clic su Access, oppure cerca la sottocartella Office XP, che contiene il comando Access. L’operazione provoca l’apertura della finestra di MS Access. Nella finestra, puoi individuare a destra il Riquadro attività. 5 Modulo 5 – Database (Office XP) 5.1.2 – Primi passi con un database I comandi contenuti in esso ti permettono di svolgere tutte le operazioni di avvio delle attività che puoi svolgere in Access. Sono, infatti, presenti alcune voci, divise per tipologie, che ti consentono di aprire un database esistente o di crearne uno nuovo, attraverso differenti procedure. Puoi chiudere l’applicazione, o selezionando la voce Esci dal menu File, oppure facendo clic sul pulsante Chiudi della finestra. [ 5.1.2.2 ] Come abbiamo già detto, puoi aprire un database esistente, attraverso i comandi presenti nel Riquadro attività. La prima categoria di comandi, Apri file, elenca il nome dei database aperti più di recente e ti dà la possibilità, selezionando Altri file, di sfogliare le cartelle salvate sulle unità di memoria di massa, per individuare il file richiesto. In questo secondo caso, si apre la finestra Apri, che appunto ti permette di sfogliare le cartelle, selezionare il file voluto e aprirlo, mediante il pulsante Apri o facendo doppio clic sul file stesso. In alternativa, senza partire dal programma MS Access, puoi aprire un database esistente facendo doppio clic sul relativo file. Infatti, quando apri un file con estensione .mdb, viene aperta prima l’applicazione MS Access e, di seguito, il file stesso. 6 Modulo 5 – Database (Office XP) 5.1.2 – Primi passi con un database Una volta aperto un database, a seconda del livello di sviluppo del file, puoi trovarti di fronte a due situazioni differenti. In un caso, al centro dell’area di lavoro compare una finestra che contiene una serie di cartelle, una per ogni oggetto del database. Attraverso questa finestra, hai la possibilità di compiere tutte le operazioni, sia di generazione sia di utilizzo del database. Gli oggetti presenti in questa finestra sono: • Tabelle: per realizzare gli elementi base del database, generandone la struttura, e per disporre delle funzioni di registrazione, visualizzazione e correzioni dei dati; • Query: per l’estrazione ed eventuale modifica di informazioni, con interrogazione di tipo condizionato; • Maschere: per la realizzazione di interfacce user friendly, per la visualizzazione e l’introduzione dei dati; • Report: per la produzione di stampati; • Pagine: per la realizzazione di pagine web, che permettano di lavorare con un database Access sulla rete Internet; • Macro: per la realizzazione di semplici procedure automatizzate; • Moduli: per programmare e aggiungere funzionalità di tipo avanzato. 7 Modulo 5 – Database (Office XP) 5.1.2 – Primi passi con un database Dalla finestra del database puoi agire su tutte le tipologie di oggetti presenti. Devi scegliere la cartella da visualizzare sulla barra degli strumenti Oggetti. All’interno di ogni cartella vengono visualizzati gli oggetti, già presenti, che puoi aprire, rinominare, eliminare e modificare. Sono presenti anche i comandi che ti permettono di generarne di nuovi. Gli oggetti presenti nella finestra verranno descritti approfonditamente durante il corso. Si ha una situazione differente, quando chi ha sviluppato il database ha previsto di creare un pannello di controllo, che faciliti l’utente nella gestione delle operazioni di inserimento, di modifica e di interrogazione dei dati. Il pannello di controllo si apre automaticamente e contiene pulsanti e collegamenti ipertestuali, che attivano funzioni o aprono oggetti, mentre rimane nascosta la struttura base del database. [ 5.1.2.3 ] Per creare un nuovo database, apri l’applicazione MS Access, seguendo la procedura già descritta. Nel Riquadro delle attività, nella sezione Nuovo, fai clic su Database vuoto. Le altre voci, presenti nella stessa area del riquadro, ti permettono di generare nuovi database, partendo da modelli preimpostati o di costruire strutture per l’utilizzo di database esterni. L’operazione di creazione è completa solo quando viene salvato il nuovo file. [ 5.1.2.4 ] Al contrario di quanto succede negli altri applicativi, in MS Access la prima operazione da compiere, per generare un nuovo database, è di attribuirgli un nome e un indirizzo su un’unità di memorizzazione di massa. Dopo aver scelto Database vuoto, nel Riquadro attività, infatti, si apre la finestra di dialogo Salva nuovo database. 8 Modulo 5 – Database (Office XP) 5.1.2 – Primi passi con un database • Nella casella Salva in indica l’ubicazione che dovrà avere il file. • Verifica il nome da dare al database e, nel caso, modificalo nella casella Nome file. • Verifica la correttezza delle operazioni eseguite e fai clic su Crea, per generare il nuovo file. Ogni operazione che verrà eseguita all’interno del database verrà salvata immediatamente, secondo le indicazioni date in questa prima fase del processo di generazione. Non dovrai più salvare il file, alla fine del lavoro. Le uniche operazioni che richiedono una conferma e un salvataggio sono la generazione e le modifiche sulla struttura di oggetti. Tutte le informazioni contenute in un database, struttura e dati, sono contenute in un unico file con estensione .mdb. Per fare una copia di backup del database, è sufficiente fare una copia di questo file su un’unità di memorizzazione esterna. Puoi avere la necessità di esportare un oggetto del database. Apri il database, sul quale vuoi agire, e seleziona l’oggetto da esportare: • seleziona Esporta, dal menu File; • seleziona il database di destinazione dell’esportazione; • fai clic su Salva per eseguire l’operazione; • per ogni oggetto esportato, compare la finestra Esporta; • in questa finestra, puoi personalizzare l’operazione, attivando o disattivando le opzioni previste; • fai clic su Ok, per concludere il processo di esportazione. [ 5.1.2.5 ] Mentre lavori in MS Access, hai sempre a disposizione la funzione di guida in linea. Gli argomenti in essa contenuti coprono tutte le possibili domande sulla progettazione, la realizzazione, la modifica e l’utilizzo di un database. Puoi accedere alla guida in linea facendo clic sul pulsante ?, presente sulla barra degli strumenti Standard, oppure premendo F1, o ancora scegliendo Guida in linea Microsoft Access, nel menu ?. Se l’opzione è attivata, viene visualizzato l’assistente di Office; per nasconderlo basta fare clic su Nascondi l’Assistente di Office nel menu ?. Digita una domanda o delle parole chiave e fai clic su Cerca. 9 Modulo 5 – Database (Office XP) 5.1.2 – Primi passi con un database Viene effettuata una ricerca, tra gli argomenti della guida, e ti viene proposto un elenco di possibili risposte. Fai clic su un punto dell’elenco, per aprire la finestra Guida in linea, che contiene le informazioni da te richieste. Puoi approfondire la tua ricerca, facendo clic sul pulsante Mostra. In questo modo, la finestra si espande e vengono visualizzate tre schede: Sommario, Ricerca libera e Indice. Nella scheda Sommario, gli argomenti sono suddivisi in aree funzionali e puoi sfogliarli utilizzando i collegamenti ipertestuali. La scheda Ricerca libera ti permette di compiere ricerche, attraverso parole chiave. La scheda Indice contiene un vero e proprio indice analitico. Puoi spostarti attraverso le voci sia scorrendo l’elenco con le barre di scorrimento, sia scrivendo nell’apposita casella il termine desiderato. L’elenco si posiziona automaticamente in risposta alle lettere digitate.Puoi avere delle spiegazioni che facciano riferimento direttamente a oggetti presenti nell’area di lavoro, come pulsanti o menu. Per ottenere ciò, attiva il comando Guida rapida, dal menu ?. Il cursore si trasforma, 10 Modulo 5 – Database (Office XP) 5.1.2 – Primi passi con un database visualizzando una freccia con un punto di domanda. Fai clic sull’oggetto del quale desideri avere spiegazioni. Verrà visualizzato un fumetto, contenente l’argomento richiesto. [ 5.1.2.6 ] Per chiudere un database seleziona Chiudi, dal menu File. Se l’operazione di chiusura non si riferisce solo al database aperto, ma anche all’applicazione, seleziona Esci, al posto di Chiudi. In questo modo, sarà chiusa sia l’applicazione sia il database. Per entrambe le operazioni, puoi anche agire direttamente sul pulsante Chiudi finestra. Facendo ciò, puoi chiudere la finestra del database, lasciando aperta l’applicazione, oppure chiudere l’applicazione e, conseguentemente, anche il database. Come abbiamo già visto, in MS Access i salvataggi delle modifiche o dell'inserimento di record avvengono automaticamente. Eventuali operazioni effettuate sulla struttura di tabelle, maschere e report, invece, vengono salvate al momento della chiusura della singole finestre. E’ possibile, quindi, chiudere il database alla fine del lavoro, senza effettuare ulteriori operazioni di salvataggio. 11 Modulo 5 – Database (Office XP) 5.1.3 – Modificare le impostazioni 5.1.3 – Modificare le impostazioni [ 5.1.3.1 ] Come tutti gli applicativi di MS Office, anche Access ti permette di adattare il più possibile l'interfaccia alle tue esigenze. Puoi visualizzare gli elementi che compongono un database, secondo la modalità più adatta al lavoro che stai svolgendo. Hai già potuto verificare per altri applicativi, durante questo corso, che il tipo di pulsanti a tua disposizione varia, in base alle operazioni da svolgere. Il sistema, infatti, visualizza automaticamente la barra dei menu e le barre degli strumenti adatte a ogni situazione. Puoi, però, modificare manualmente tali barre per adattarle alle tue esigenze specifiche. Quando apri un database, la finestra di lavoro contiene una serie di oggetti con una modalità grafica standard. Puoi personalizzare sia gli oggetti da visualizzare sia il loro aspetto. Il menu Visualizza contiene le diverse possibilità che ti vengono offerte. Fai clic su Oggetti del database; si apre il sottomenu, dove trovi i comandi per aprire le varie cartelle di cui si compone la finestra di lavoro. Lo stesso elenco è disponibile nella barra degli Oggetti, inserita nella finestra principale del database. Puoi variare anche l’aspetto delle icone, che rappresentano gli oggetti del database. Nella seconda parte del menu Visualizza, infatti, puoi scegliere l’aspetto delle icone presenti nella finestra di dialogo, stabilendone la grandezza e il tipo di informazioni che desideri rendere visibili. 12 Modulo 5 – Database (Office XP) 5.1.3 – Modificare le impostazioni Le visualizzazioni possibili sono: • Icone grandi; • Icone piccole; • Elenco; • Dettagli. La visualizzazione Dettagli, come suggerisce il nome, contiene le informazioni più complete. Vengono indicati, infatti, i dati relativi alla data di creazione, alla data dell’ultima modifica, alla tipologia di oggetto e, se esiste, viene visualizzata la descrizione dell’elemento. Quando il numero di icone presenti contemporaneamente nella finestra è elevato, può essere utile ordinarle secondo un criterio prestabilito. Trovi tutte le possibili opzioni nel sottomenu Disponi icone, nel menu Visualizza. Nel caso tu abbia attivato la visualizzazione dettagli, puoi compiere degli ordinamenti, facendo clic sui pulsanti di intestazione di ciascuna colonna. Ogni oggetto del database può esser visualizzato in modi differenti, a seconda delle azioni che devi compiere su di esso. Una tabella, ad esempio, può essere aperta in modalità Struttura o Foglio dati. Non è necessario chiudere l’oggetto ogni volta che vuoi passare da un tipo di visualizzazione all’altra. Agisci, invece, sul pulsante visualizza, che presenta un menu dove vengono elencate le possibili alternative a tua disposizione. [ 5.1.3.2 ] Le barre degli strumenti contengono, come già sai, una raccolta di pulsanti, divisi per argomento. In MS Access hai la possibilità di variare le barre visualizzate e, di ognuna, la modalità di visualizzazione. 13 Modulo 5 – Database (Office XP) 5.1.3 – Modificare le impostazioni Nel sottomenu Barra degli strumenti, nel menu Visualizza, hai a disposizione diverse barre degli strumenti: • Database, già selezionata come impostazione di default; • Riquadro attività, che può essere visualizzata di lato; • Web, contenente gli strumenti per interagire con il Web; • Personalizza ti permette di personalizzare le barre degli strumenti, rendendo visibili i bottoni, che non sono previsti nella modalità standard. Selezionando il comando Personalizza, apri la finestra di dialogo che ti permette di rendere visibili determinati tipi di barre, selezionandoli dall'elenco. La stessa finestra contiene schede, che ti consentono di modificare sia i comandi collegati ai singoli bottoni, presenti nelle barre, sia le opzioni riguardo alle informazioni contenute nei menu. È importante notare che Access aggiorna automaticamente la barra dei menu e le barre degli strumenti, quando l'azione che compi prevede l'utilizzo di funzioni particolari. In questo modo, hai sempre a disposizione lo strumento utile nel momento giusto, senza per questo appesantire la finestra di lavoro con oggetti inutili. 14 Modulo 5 – Database (Office XP) 5.2.1 – Operazioni fondamentali con le tabelle 5.2.1 – Operazioni fondamentali con le tabelle [ 5.2.1.1 ] Nel primo tema hai appreso il significato del termine tabella, all’interno di un database, ora è il momento di imparare a utilizzare gli strumenti di Access per realizzarne una, inserendo i campi e impostandone le proprietà. Prima, però, rivediamo alcuni concetti fondamentali sulle modalità di progettazione di un database. Questa, infatti, è la fase più importante per realizzare un database efficiente, in termini di velocità di risposta, ed efficace, ossia in grado di fornire le informazioni richieste. La fase di progettazione si divide in alcuni passaggi: 1. individuare quali dati devono essere memorizzati nel database, mediante la definizione degli obiettivi da raggiungere; 2. suddividere i dati in “argomenti”, per definire le tabelle che costituiranno la struttura del database; 3. definire, per ogni tabella, i campi, ossia i singoli dati da inserire nelle tabelle e le relative caratteristiche (tipologia, dimensioni, metodo di rappresentazione, ecc.); 4. stabilire le relazioni che legano le tabelle in una rete logica. Dovrai, in altre parole, dettare le regole con le quali si può formare un record logico, attraverso l’unione di dati provenienti da tabelle diverse; 5. collaudare il funzionamento del database. Questa fase, spesso sottovalutata, è fondamentale. La tabella costituisce il cuore di un database. In essa, verranno memorizzati tutti i dati dell’archivio e, grazie alle sue caratteristiche, potranno essere ottenute informazioni, attraverso interrogazioni semplici o complesse. Per crearne una nuova, devi innanzitutto definirne la struttura, ossia definire i campi che la compongono e i loro attributi. La via più semplice, per fare ciò, è l’utilizzo della funzione Creazione guidata tabella. Una serie di finestre di dialogo ti guidano nella definizione dei campi e dei loro attributi, oltre che nella scelta e nella definizione della Chiave di ricerca primaria e nell’impostazione delle relazioni tra le tabelle. Per avviare la creazione guidata, nella finestra Database, fai clic su Tabelle, nella barra degli oggetti. Quindi, fai doppio clic sull’icona Crea una tabella mediante una creazione guidata. Si apre una finestra di dialogo, che visualizza il primo passo per la realizzazione delle nuova tabella. Compi le scelte, attiva o disattiva le funzioni, e premi Avanti, per spostarti al passo successivo. Concludi il processo premendo Fine. A questo punto, il sistema memorizza la tabella, con il nome indicato nella casella corrispondente. 15 Modulo 5 – Database (Office XP) 5.2.1 – Operazioni fondamentali con le tabelle Per creare una nuova tabella, si può utilizzare anche la funzione Crea una tabella mediante l’immissione di dati. Per compiere il processo, ti viene richiesto di compilare una tabella in bianco, con la serie di dati che dovrai immagazzinare al suo interno. Il sistema, per ogni campo, analizza la tipologia dei dati immessi e genera, di conseguenza, gli attributi dei campi stessi. Per accedere a questa funzione, fai doppio clic su Crea una tabella mediante l’immissione di dati. La tabella che si apre presenta dieci campi con etichette generiche, che puoi modificare per dare dei nomi significativi ai campi. Fai clic sull’etichetta per selezionarla, scegli Rinomina colonna, dal menu Formato, digita il nuovo nome e premi Invio. Una volta sistemate le etichette dei campi, inizia a digitare i dati nelle singole celle, spostandoti da una cella all’altra con i tasti di direzione, oppure premendo il tasto Tab della tastiera. Il terzo modo per generare una tabella è quello di descrivere direttamente la struttura della tabella. Questo sistema ti permette di avere il massimo controllo su ciò che viene fatto. Fai clic su Nuovo, scegli Visualizzazione struttura e fai clic su Ok. La nuova tabella si apre in modalità di visualizzazione struttura. Compila la scheda presente nella parte alta della finestra, inserendo il nome di ciascun campo e indicando che tipo di dati dovrà contenere e, se vuoi, dandone una rapida descrizione. 16 Modulo 5 – Database (Office XP) 5.2.1 – Operazioni fondamentali con le tabelle Le varie tipologie di campo sono elencate nel menu a tendina. È sufficiente scegliere quello che si adatta maggiormente alle tue esigenze. Puoi scegliere tra: • Testo: una combinazione di caratteri e numeri fino a 255 caratteri; • Memo: un testo di lunghezza maggiore, combinazione di caratteri e numeri fino a 65.535 caratteri; • Numerico: valori numerici con diverse possibilità di rappresentazione; • Data/ora: valori di data e ora dall’anno 100 all’anno 9999; • Valuta: valori di valuta, che possono contenere al massimo quattro cifre decimali; • Contatore: un numero intero sequenziale, incrementato automaticamente; • Sì/no: un valore che ammette due soli stati equivalenti a Sì o No: VERO o FALSO; • Oggetto OLE: un oggetto importato da un file esterno, per esempio: un’immagine, un foglio di Excel, 17 Modulo 5 – Database (Office XP) 5.2.1 – Operazioni fondamentali con le tabelle un documento di Word. • Collegamento ipertestuale: per esempio, il percorso di un file o un collegamento a una pagina HTML; • Ricerca guidata: guida alla personalizzazione dei dati da inserire nella tabella. Nella parte inferiore della finestra, sono presenti le caselle nelle quali inserire gli attributi di ogni singolo campo. Le possibili tipologie di attributi variano a seconda del tipo di campo sul quale stai lavorando; vediamole insieme: • Dimensione: ti permette di definire l'ampiezza del campo; • Formato: ti dà la possibilità di visualizzare nel modo desiderato valori numerici, date, valute, ecc.; • Posizioni decimali: se sono eventualmente presenti nei campi numerici; • Maschera di input: ti permette di visualizzare caratteri di definizione del formato di un campo, per garantire che i dati immessi rispettino tale formato; • Etichetta: ti consente di assegnare un nome diverso al campo, da usare nelle maschere di input e output; • Valore predefinito: fa sì che venga inserito tale valore in tutti i nuovi record, per cui è necessario immettere il valore corretto, solo nel caso sia diverso dal valore predefinito. • Valido se: ti consente di indicare degli intervalli di validità per i dati immessi. Tieni, comunque, presente che alcuni controlli di validità sono introdotti automaticamente, quando viene definito il tipo di dato. Se, per esempio, hai definito un campo come data, il sistema, nella fase di immissione dei dati, verificherà che quanto immesso corrisponda a una data valida; • Messaggio di errore: è l'avvertimento che compare, nel caso non sia rispettato l'intervallo di validità; • Richiesto: ti permette di rendere obbligatoria l’introduzione del dato; • Consenti lunghezza zero: dà la possibilità di avere stringhe senza caratteri, nel caso di campi di tipo testo o meno; • Compressione Unicode: ti permette di comprimere alcuni dati, per risparmiare spazio nella memorizzazione. • Indicizzato: ti dà la possibilità di impostare il collegamento del campo a un indice. Approfondiremo questo attributo più avanti nel corso. Indipendentemente dal metodo usato per generare una tabella, alla fine del processo devi salvare il lavoro 18 Modulo 5 – Database (Office XP) 5.2.1 – Operazioni fondamentali con le tabelle fatto. Quando hai finito le operazioni descritte, fai clic sul pulsante Chiudi Finestra e scegli Sì, per salvare la nuova tabella; digita il nome e premi Ok. Il sistema ti consiglia di generare una Chiave di ricerca primaria, se ancora non lo hai fatto. Fai clic su Sì, per permetterne la generazione automatica, attraverso l’aggiunta alla tabella di un campo di tipo contatore. Analizzando gli attributi da dare ai campi, nella generazione della struttura di una tabella, è stato citato il sistema di Compressione Unicode. Unicode è un sistema di codifica, che rappresenta ogni carattere attraverso l’uso di 2 byte al posto del solo byte, utilizzato tradizionalmente. Questo tipo di codifica permette la rappresentazione di 65.536 differenti caratteri al posto dei 256 del sistema tradizionale. Tale innovazione è stata introdotta, per riuscire a memorizzare anche i caratteri asiatici. Se il tuo database, in un certo campo, contiene solo i caratteri compresi tra i 256 standard, puoi selezionare tale funzione, in modo da salvare ogni carattere in un unico byte e, conseguentemente, risparmiare spazio. [ 5.2.1.2, 5.2.1.4, 5.2.1.5 e 5.2.1.6 ] Le tabelle, oltre a rappresentare la struttura del database, possono essere utilizzate per inserire, visualizzare, modificare e cancellare dati. In effetti, quando costruisci un tabella, attraverso i procedimenti che abbiamo visto, costruisci una sorta di contenitore, all’interno del quale potrai riversare ordinatamente i tuoi dati. Per inserire un record in una tabella, aprila in visualizzazione Foglio dati. Nella barra Oggetti, seleziona Tabelle, quindi fai doppio clic sulla tabella sulla quale vuoi lavorare oppure, dopo averla selezionata, fai clic sul pulsante Apri. La finestra visualizza la tabella in modalità Foglio dati, dove ogni riga rappresenta un record e ogni colonna un campo. Per immettere i dati nella tabella, fai clic sulla cella da riempire, per attivarla, e digita il contenuto. Come abbiamo già visto, puoi spostarti da una cella all’altra usando il mouse, i tasti direzionali o premendo il tasto Tab. Durante l’inserimento dei dati, sulla barra di sinistra, in corrispondenza del record attivo, compare un simbolo di una matita, a indicare che il record è in fase di modifica o di inserimento. Spostandosi su un altro record, il simbolo della matita scompare e le modifiche apportate vengono salvate automaticamente. In questo momento, quindi, quello che vedi sullo schermo corrisponde a quanto è registrato sulla memoria di massa. L’ultima operazione svolta, anche se salvata su disco, viene tenuta in memoria dal sistema, che ti permette di annullarla. Per fare ciò, premi il pulsante Annulla, sulla barra degli strumenti. Agendo in visualizzazione foglio dati, attraverso la tabella, puoi anche eliminare un intero record con una 19 Modulo 5 – Database (Office XP) 5.2.1 – Operazioni fondamentali con le tabelle singola, veloce operazione. Seleziona la riga che rappresenta il record da eliminare, facendo clic sul pulsante corrispondente a sinistra della tabella, e premi Canc sulla tastiera; oppure scegli la funzione Elimina, dal menu Modifica; o, ancora, fai clic sul pulsante della barra degli strumenti Elimina Record. In tutti i casi, il sistema ti chiede conferma dell’eliminazione del dato, ricordandoti che l’operazione non è reversibile. Mediante lo stesso procedimento puoi facilmente modificare dati già inseriti nella tabella. Seleziona la cella, che contiene il dato errato e digita quello corretto, oppure modifica il dato stesso, aggiungendo o eliminando caratteri. Puoi cancellare anche più record contemporaneamente, operando una selezione multipla. Per selezionare più record contemporaneamente, seleziona il primo della sequenza ed espandi la selezione trascinando il mouse, mantenendo premuto il tasto sinistro. In alternativa, puoi anche utilizzare le funzionalità del mouse combinate con i tasti sulla tastiera. Se devi selezionare un insieme di record consecutivi, seleziona il primo dell’elenco e, successivamente, l’ultimo tenendo premuto Shift. Non è, invece, possibile selezionare record non consecutivi, attraverso l’uso del tasto Ctrl. Fai attenzione quando elimini un record: infatti, se è coinvolto in una relazione per la quale è attivo il controllo dell’Integrità referenziale, il sistema ti avvisa del fatto che non è possibile cancellarlo senza prima eliminare i record collegati nelle altre tabelle. [ 5.2.1.3 ] Per quanto la fase di progettazione sia svolta attentamente, capita spesso di dover apportare delle modifiche a una tabella già esistente. Per compiere questa operazione, apri la tabella da modificare in modalità visualizzazione struttura. Nella barra degli Oggetti, seleziona Tabelle, fai clic sulla tabella sulla quale vuoi lavorare e, quindi, sul pulsante Struttura. Puoi modificare qualsiasi elemento presente nella tabella, andando a correggere le impostazioni di ciascun campo. Inoltre, puoi aggiungere un nuovo campo alla struttura. Il nuovo campo può essere inserito a valle di quelli già esistenti, semplicemente aggiungendolo in fondo all’elenco. È possibile inserirlo, però, in un punto particolare. In questo secondo caso, seleziona la riga, che dovrà essere subito successiva al nuovo campo, facendo clic sul pulsante sulla sua sinistra, quindi, fai clic sul pulsante Inserisci righe sulla barra degli strumenti. Nella nuova riga inserisci il nome e gli attributi del nuovo campo. Quando hai concluso il lavoro, chiudi la finestra e conferma le modifiche facendo clic su Sì, nella finestra di dialogo. 20 Modulo 5 – Database (Office XP) 5.2.1 – Operazioni fondamentali con le tabelle [ 5.2.1.7 ] Per riuscire a lavorare agevolmente all’interno di una tabella, soprattutto se di grandi dimensioni, è opportuno conoscere le funzionalità dei pulsanti, che ti permettono di spostarti a colpo sicuro per raggiungere record particolari. Ai piedi della tabella trovi una piccola barra che contiene una casella, dove viene indicato il numero del record attivo, e cinque pulsanti. Descriviamone le funzioni partendo da sinistra: • andare al primo record; • passare allo stesso campo del record precedente; • passare allo stesso campo del record successivo; • passare allo stesso campo dell’ultimo record; • passare al primo campo di un nuovo record. Puoi, inoltre, spostarti su un record specifico, se ne conosci il numero: inserisci il numero del record nell’apposita casella e premi Invio. Una volta attivato un record particolare puoi sfogliare la tabella, attraverso le barre di scorrimento presenti in basso e a lato della finestra. In questo modo, potrai visualizzare l’area della tabella con le informazioni desiderate. [ 5.2.1.8 ] La cancellazione di una tabella è un evento che si verifica raramente e di solito solo in fase di realizzazione del database. Ciononostante, è importante verificare il procedimento, finalizzato a tale operazione, e capire che possono esistere degli impedimenti. Per eliminare una tabella, seleziona Tabelle, dalla barra degli Oggetti, quindi, fai clic sulla tabella da eliminare, per selezionarla. Infine, fai clic sul pulsante Elimina o premi il tasto Canc della tastiera. Il sistema rende effettiva l’operazione solo dopo averti chiesto la conferma. Fai clic su Sì, per confermare l’operazione. Devi stare attento a usare questa funzione, perché il procedimento non è reversibile. Una volta eliminata, una tabella non può essere recuperata in alcun modo. Nel caso in cui la tabella sia coinvolta in relazioni, prima di eliminarla è necessario eliminare tali relazioni. Questo argomento verrà sviluppato in dettaglio più avanti. 21 Modulo 5 – Database (Office XP) 5.2.1 – Operazioni fondamentali con le tabelle [ 5.2.1.9 ] Abbiamo evidenziato in diverse occasioni che i salvataggi in Access sono automatici, quando si operano inserimenti o modifiche ai dati. Al contrario, quando le operazioni coinvolgono la struttura dei singoli oggetti del database, le modifiche devono essere salvate. Ti ricordo, comunque, che tutti gli oggetti sono contenuti in un unico file, che viene generato immediatamente, come primo passo per la realizzazione di un nuovo database. Per salvare una tabella, sia che tu stia lavorando in visualizzazione Struttura che in Foglio dati, è sufficiente fare clic sul pulsante Salva. Nel caso tu voglia farne una copia, attribuendole un nuovo nome, seleziona Salva con nome, dal menu File, e, dopo aver indicato il nuovo nome, premi Ok. Per chiudere una tabella fai clic sul pulsante Chiudi finestra o seleziona Chiudi, dal menu File. Nel caso ti fossi dimenticato di salvare eventuali modifiche, apportate alla sua struttura prima di chiuderla, il sistema ti chiede se vuoi salvarle. Fai clic su Sì, per salvare e chiudere la tabella; su No, per chiudere la tabella senza salvare. 22 Modulo 5 – Database (Office XP) 5.2.2 – Definire le chiavi 5.2.2 – Definire le chiavi [ 5.2.2.1 ] Abbiamo già chiarito cosa sia una chiave primaria e quale sia la sua importanza all’interno di una tabella. In questo breve tema, passiamo dalla teoria alla pratica, vedendo come definire un campo come chiave primaria in un tabella. Vedremo, inoltre, come indicizzare un campo, ammettendo o meno la duplicazione dei dati in esso contenuti. Una volta compresa a pieno la teoria, generare una chiave primaria risulta un’operazione banale. Affinché un campo possa svolgere il ruolo di chiave di ricerca primaria, è necessario che sia associato a un indice e che non siano ammessi duplicati. Normalmente la Chiave di ricerca primaria viene assegnata in fase di realizzazione della struttura della tabella quindi, per attribuire questo ruolo a un campo, apri la tabella in modalità visualizzazione struttura. In seguito, scegli Tabelle, sulla barra degli Oggetti, e fai clic su Struttura, dopo aver selezionato la tabella da aprire. Una volta aperta la struttura della tabella, seleziona il campo o i campi da nominare Chiave di ricerca primaria, facendo clic sul pulsante a lato della riga o utilizzando le tecniche già descritte. Dopo aver selezionato il campo o i campi, esistono tre modalità, per attivare la proprietà di Chiave di ricerca primaria: • scegli Chiave primaria, dal menu Modifica; • premi il pulsante Chiave primaria, sulla barra degli strumenti Struttura Tabella; • seleziona Chiave primaria dal menu di scelta rapida, che compare premendo il tasto destro del mouse sul campo. Il buon fine della procedura è visualizzabile grazie al simbolo della Chiave, che compare accanto al campo. Nel caso non lo avessi fatto tu preventivamente, alcune caratteristiche del campo, che definisci Chiave primaria, cambiano automaticamente. Il campo, infatti, viene associato a un indice con la caratteristica Duplicati non ammessi. Questa proprietà obbliga il sistema a verificare che non vengano inseriti dei valori già presenti in quel campo e, nel caso ciò avvenga, ti avverte che si stanno cercando di duplicare dei valori, chiedendoti di cambiarli. Nel caso tu abbia definito più campi come chiave primaria, questi vengono associati a un indice, ma con ammessi duplicati. Il controllo viene compiuto lo stesso, ma allo scopo di verificare che non vengano 23 Modulo 5 – Database (Office XP) 5.2.2 – Definire le chiavi immesse combinazioni di campi identiche, venendo meno allo scopo della chiave di ricerca primaria. [ 5.2.2.2 ] Abbiamo già spiegato perché in certe situazioni è consigliabile associare un campo a un indice. Tuttavia, è importante ribadire che la scelta dei campi da indicizzare deve essere valutata attentamente, perché può cambiare radicalmente il tempo di risposta del sistema. Infatti, non devi pensare che associando tutti i campi a indici si ottenga un sistema velocissimo, al contrario, una struttura di questo tipo appesantirebbe notevolmente l’archivio, rendendo le risposte più lente. Per associare un campo a un indice, apri la tabella in visualizzazione struttura e seleziona il campo da modificare. Nella parte bassa della finestra trovi l’elenco delle proprietà da attribuire al campo. Alla voce Indicizzato puoi impostare due opzioni oltre a quella di default (No). Se selezioni Sì (duplicati non ammessi) attivi la stessa proprietà che abbiamo descritto prima, parlando della Chiave primaria. La proprietà Sì (duplicati ammessi) permette una ricerca rapida ed efficace all’interno della tabella, senza però porre dei limiti nell’inserimento dei dati. Anche in questo caso, l’operazione, normalmente, viene eseguita durante la realizzazione della struttura della tabella. L’associazione di un campo a un indice con duplicati non ammessi non è prerogativa esclusiva della Chiave primaria. Infatti, alcune volte hai la necessità di compiere delle verifiche, in modo che non vengano immessi valori ripetuti. L’attivazione di questa proprietà del campo attiva il controllo da parte del sistema, facilitandoti il lavoro. 24 Modulo 5 – Database (Office XP) 5.2.3 – Definire/impostare una tabella 5.2.3 – Definire/impostare una tabella [ 5.2.3.1 ] Nella realizzazione di un database, dal più semplice al più complesso, una delle fasi più delicate è la verifica del corretto funzionamento di quanto hai fatto. Infatti, non di rado ci si trova nella condizione di dover modificare alcune impostazioni delle tabelle già realizzate. Ogni tabella può essere modificata, in qualsiasi momento, secondo le procedure che abbiamo descritto. Devi semplicemente aprirla in visualizzazione struttura, per avere a disposizione tutti gli strumenti che ti permettono di caratterizzare ogni campo e di andare a modificarne gli attributi. Questa operazione appare semplice, ma nasconde delle insidie. Non è detto, infatti, che le modifiche apportate agli attributi di un campo siano compatibili con i dati già memorizzati nel database. In questo caso, il sistema ti informa della possibile perdita di dati e ti chiede di confermare la scelta fatta. In caso di risposta affermativa l’operazione non è reversibile, i dati persi non possono essere più recuperati. Questo è uno dei motivi per cui è necessario che la fase di progettazione di un database sia svolta con una grande attenzione. [ 5.2.3.2 ] Analizziamo in particolare il caso in cui vengano modificate le dimensioni del campo. Se modifichi un campo Testo o Memo e ne aumenti la dimensione, non si verifica alcun problema: i dati già contenuti nel database possono essere contenuti nel campo modificato. Se, al contrario, diminuisci le dimensioni del campo, non è detto che tutti i dati possano essere contenuti nelle nuove dimensioni. I dati che occupano più spazio vengono in parte persi. Quando si tratta con campi di tipo numerico, la situazione si complica ulteriormente. Per essi, infatti, la proprietà Dimensione campo determina il tipo di numero specifico: Byte, Intero, Intero lungo, Precisione singola, Precisione doppia, Decimale o Id replica. La conversione tra formati diversi, in questi casi, deve essere valutata con attenzione. Infatti, puoi ottenere tre tipi di risultati differenti: • se il nuovo formato è compatibile con il primo, il numero viene conservato inalterato; • se vengono diminuite le cifre decimali, ad esempio passando da Precisione doppia a Intero lungo, i decimali verranno arrotondati al numero intero più prossimo; • se le dimensioni del campo vengono diminuite e non consentono l’inserimento dei vecchi valori, il valore incompatibile verrà eliminato e, al suo posto, apparirà il valore Null. [ 5.2.3.3 ] Lo scopo di un database non è solo quello di poter immagazzinare i dati, ma è anche di riuscire a reperire informazioni. Per rendere possibile questa seconda funzionalità, è necessario che i dati siano immessi in modo corretto. 25 Modulo 5 – Database (Office XP) 5.2.3 – Definire/impostare una tabella Chiariamo questo concetto prendendo come esempio una situazione frequente: un campo contenente una data. Se il valore della data fosse inserito in modi differenti all’interno del database (gg/mm/aa, mm/gg/aa, gg/mm/aaaa), non sarebbe possibile interrogare l’archivio, perché sarebbe impossibile generare una query, una domanda, omogenea per i diversi formati. Per evitare queste situazioni spiacevoli, è necessario che tutti i dati vengano inseriti in archivio con lo stesso formato. MS Access ti offre due possibilità: creare una Regola di convalida, che limiti i dati che possono essere immessi in un campo; creare delle Maschere di input, strutture che limitano le possibilità di immissione dei dati, vincolando l’utente. Con il primo metodo, in caso tu commetta un errore, il sistema mostra un messaggio, nel quale ti viene spiegato come devi inserire un dato in quel determinato campo. Entrambe le opzioni possono essere impostate sia a livello di struttura della tabella, sia nella maschera di input. Ti consiglio, comunque, di impostare le regole direttamente a livello della struttura della tabella, per evitare situazioni spiacevoli. Il primo controllo che devi impostare è di scegliere correttamente il tipo di campo. Se il campo deve contenere una data, non puoi impostare il tipo di dato su Numerico ma, correttamente, su Data/ora. Questa prima impostazione attiva una serie di controlli preliminari, a cui puoi, poi, aggiungere quelli specifici già citati. A ogni tipo di campo possono essere applicate regole differenti. Vediamole in dettaglio: • Numerico: puoi scegliere tra varie dimensioni di campo, per controllare il tipo e l’intervallo di valori che possono essere immessi; • Testo: puoi impostare il numero massimo di caratteri, che possono essere immessi; • per tutti i campi, fatta eccezione per il campo Contatore, puoi richiedere l’immissione obbligatoria del dato; • Testo, Data/ora, Numerico: puoi definire una maschera di input, per fornire spazi da riempire e controllare quali valori possono essere immessi in tali spazi. Durante la generazione della tabella puoi anche definire delle Regole di convalida: espressioni che permettono un controllo estremamente preciso su ogni campo e anche su interi record. Una Regola di convalida dei campi ti permette di verificare il valore immesso in un campo, quando questo viene inserito. In questo caso, è chiaro che l’unico termine presente nell’espressione sarà il campo stesso. Nel caso, invece, di una Regola di convalida dei record, nell’espressione il valore di un campo viene 26 Modulo 5 – Database (Office XP) 5.2.3 – Definire/impostare una tabella messo in relazione con quello di altri e, solo alla fine dell’inserimento del record, è possibile verificare se le impostazioni sono corrette. Se la regola di convalida non viene rispettata, il sistema informa l’utente, attraverso un messaggio che riporta un suggerimento per rispettare la regola stessa. Vediamo ora come impostare una regola di convalida dei campi. Per prima cosa apri la tabella in Visualizzazione struttura. Seleziona il campo, per il quale vuoi impostare la regola di convalida, e digitala nella casella Valido se. Per esempio, se il dato rappresenta il voto di un esame universitario, puoi impostare il seguente criterio di validità: >=18 and <=30 Puoi anche utilizzare il Generatore di espressioni, che ti aiuta a impostare la regola con una sintassi corretta. Fai clic sul pulsante Generatori, per aprire la finestra dedicata. Nella casella Messaggio errore, inserisci il testo del messaggio che deve comparire in caso di errore nell’inserimento dei dati. Per impostare una regola di convalida dei record, apri la tabella in visualizzazione Struttura e fai clic sul pulsante Proprietà. Digita l’espressione della regola di convalida nella casella Valido se, nella finestra di dialogo Proprietà. Ad esempio, puoi controllare che la data di spedizione sia sempre superiore alla data dell’ordine di un prodotto. In questo caso digita la seguente espressione: [Data spedizione]>[Data ordine] 27 Modulo 5 – Database (Office XP) 5.2.3 – Definire/impostare una tabella Nota come i nomi dei campi vengano inseriti tra parentesi quadre. Anche per questo tipo di regola puoi utilizzare il Generatore di espressioni. Concludi l’operazione inserendo il messaggio di errore nella casella Messaggio errore. Quando hai la necessità di impostare una regola di convalida di record o campi in una tabella, che contiene già dei dati, ti trovi nelle condizioni di non sapere se i dati inseriti in precedenza violano o meno la regola. Per non rischiare di perdere dati preziosi, puoi verificare tale condizioni prima di salvare le modifiche alla struttura della tabella. Fai clic con il pulsante destro del mouse sulla barra del titolo della tabella e seleziona la funzione Verifica regole convalida. Viene visualizzato un messaggio di avviso, se i dati esistenti violano una regola di convalida o le impostazioni Richiesto o Consenti lunghezza zero. Dopo questa verifica, puoi chiudere la tabella e salvare le modifiche. In questo momento, il sistema ti chiede se vuoi applicare le nuove regole anche ai dati già inseriti nel database. In base alle informazioni raccolte con la verifica descritta poco fa, scegli se applicare tali regole anche ai vecchi dati, facendo clic su Sì, o applicarle solo a quelli nuovi, facendo clic su No. Nel primo caso andranno perso i dati già inseriti, che violano la regola di convalida. [ 5.2.3.4 ] In queste prime fasi del corso, abbiamo verificato la duplice funzionalità della tabella. Questi due differenti modi d’uso si riflettono nelle due modalità di visualizzazione, Struttura e Foglio dati. Puoi passare da una modalità di visualizzazione all’altra, facendo clic sul pulsante Visualizza, sulla barra degli strumenti, o scegliendo una voce dal menu a Cascata, che si apre con lo stesso pulsante. Nota come lo stesso pulsante cambi aspetto nel passaggio dal foglio dati alla struttura e viceversa. Passando da una modalità di visualizzazione all’altra, la tabella non viene chiusa, ma solo visualizzata in maniera diversa. L’unica eccezione si ha quando viene modificata la struttura della tabella. In questo caso, prima di passare alla modalità di visualizzazione Foglio dati, è necessario salvare le modifiche. In visualizzazione Foglio dati, puoi adattare l’aspetto della tabella alle tue esigenze, modificando gli attributi di layout. Per compiere questa operazione, seleziona una cella nella tabella e apri il menu Formato, dove trovi alcune voci: • Carattere: ti permette di modificare la formattazione del carattere, font, dimensioni, colore; • Foglio dati: contiene le opzioni, per gestire la visualizzazione del foglio dati. Puoi variare l’aspetto delle celle, visualizzare o meno la griglia, cambiare colore alle linee. La regolazione più frequente, che viene fatta su una tabella, è la variazione della larghezza delle colonne. Infatti, quando viene generato il foglio dati, questo parametro viene impostato come standard. 28 Modulo 5 – Database (Office XP) 5.2.3 – Definire/impostare una tabella Variare la larghezza delle colonne, ti permette di visualizzare meglio i tuoi dati. Se la colonna è troppo stretta, dovrai allargarla per riuscire a vedere il contenuto completo del campo. Al contrario, se la colonna è troppo larga, ne ridurrai le dimensioni, in modo da poter vedere più campi sullo schermo. Puoi anche modificare l’altezza delle righe, ma questo parametro viene modificato in ugual misura su tutte le righe della tabella, al contrario di quanto succede per le colonne. Le funzioni, che ti permettono di variare le impostazioni descritte, si trovano nel menu Formato. Puoi anche agire direttamente sulla tabella, verificando il risultato della modifica in tempo reale. Seleziona l’elemento da modificare, prima di compiere l’operazione. Fai clic sul margine destro dell’etichetta della colonna da ridimensionare e trascinalo nella nuova posizione. Nella descrizione della generazione di una tabella, ti sarai reso conto che alcuni campi vengono inseriti con un ruolo esclusivo di controllo, ad esempio il campo contatore. Solitamente, non è interessante visualizzare i valori contenuti in questi campi e la loro presenza occupa spazio prezioso sullo schermo. In questo caso, puoi nascondere le colonne che non ti interessa vengano visualizzate. Seleziona Nascondi colonna, dal menu Formato, dopo aver selezionato la colonna, mediante un clic sulla sua etichetta. La colonna nascosta non viene cancellata ed è visualizzabile selezionando Scopri colonna, dal menu Formato. Per migliorare la fruibilità della tabella, può esserti utile bloccare una o più colonne, cioè impedire che queste vengano spostate durante lo scorrimento laterale della tabella stessa. Seleziona la colonna da bloccare e scegli Blocca colonne, dal menu Formato. [ 5.2.3.5 ] Quando analizzi una tabella può essere importante anche l’ordine con il quale vengono presentati i dati. Siamo, infatti, abituati a leggere il testo da sinistra a destra e diamo un ordine di importanza con lo stesso criterio. In quest’ottica, può esserti utile variare la sequenza con la quale vengono visualizzate le colonne nella tabella. Come impostazione predefinita, tale sequenza rispecchia l’ordine con il quale hai inserito i campi nella struttura della tabella. Per spostare una o più colonne, selezionale mediante un clic sul selettore di colonna, costituito dall’etichetta della colonna stessa, quindi aggancia la colonna, facendo nuovamente clic sull’etichetta selezionata, e trascinala nella nuova posizione. Se le colonne non si dovessero spostare, verifica che queste non siano bloccate. In questo caso, è sufficiente sbloccarle e ripetere l’operazione. 29 Modulo 5 – Database (Office XP) 5.2.4 – Relazioni tra tabelle 5.2.4 – Relazioni tra tabelle [ 5.2.4.1 ] In questo tema, verranno prese in esame tutte le operazioni che ti permettono di creare relazioni tra tabelle. Anche in questo caso, al fine di capire al meglio le singole operazioni, è indispensabile avere bene a mente cosa siano le relazioni e quale sia la loro funzione, all’interno di un database relazionale. In effetti, la procedura per la creazione di una relazione è estremamente banale, ciò che risulta complesso è sapere come impostare tale relazione, quali campi devono essere associati e quali opzioni attivare, affinché il database funzioni correttamente. Prima di svolgere l’operazione di generazione di una relazione, ti devi assicurare che siano rispettate due condizioni fondamentali. La prima è che i campi da unire, attraverso la relazione, possono avere nomi diversi, ma devono contenere lo stesso tipo di dati. L’unica eccezione a questa regola riguarda il campo Contatore, che può essere relazionato solo a un campo Numerico. Entrambi, comunque, dovranno presentare la stessa proprietà di Dimensione del campo. La seconda condizione è che le tabelle, che verranno coinvolte nella relazione, devono essere chiuse: non è possibile generare una relazione tra tabelle aperte. Per iniziare la procedura, verificate le condizioni descritte, fai clic sul pulsante Relazioni. Se non esistono già relazioni nel database, prima di accedere alla finestra Relazioni, viene visualizzata la finestra Mostra tabella. 30 Modulo 5 – Database (Office XP) 5.2.4 – Relazioni tra tabelle Puoi visualizzare anche in seguito questa seconda finestra, facendo clic su Mostra tabella. Fai doppio clic sui nomi delle tabelle che desideri coinvolgere nella relazione, quindi fai clic su Chiudi. Ora, nella finestra vengono visualizzate le tabelle, che hai deciso di coinvolgere nella relazione. Per generarla, trascina il primo campo, appartenente alla prima tabella, nel secondo campo di una tabella differente. Al momento del rilascio del campo viene visualizzata la finestra di dialogo Modifica relazioni, dove puoi verificare che i nomi dei campi, visualizzati nelle due colonne, siano quelli desiderati. Vedremo più avanti come impostare le opzioni di relazione in questa finestra. Per concludere il processo, fai clic su Crea. Puoi ripetere l’operazione più volte, fino a creare tutte le relazioni necessarie al corretto funzionamento del tuo database. Una volta terminato il lavoro, chiudi la finestra relazioni e fai clic su Sì, per salvare le impostazioni. Solitamente, una relazione viene creata tra un campo Chiave primaria, nella prima tabella, e un campo che contenga gli stessi dati, nella seconda tabella o tabella correlata. Il campo che svolge il ruolo di secondo termine della relazione viene indicato con il nome di Chiave esterna. [ 5.2.4.2 ] Puoi cancellare una relazione esistente in qualsiasi momento, agendo nella finestra Relazioni. Aprila con il procedimento visto in precedenza e, se le tabelle sulle quali devi lavorare non vengono visualizzate, fai clic su Mostra tabella e doppio clic sulle tabelle da visualizzare. Per selezionare la relazione da eliminare, fai clic sulla linea che la rappresenta, che apparirà in grassetto. Premi Canc sulla tastiera, per completare l’operazione. 31 Modulo 5 – Database (Office XP) 5.2.4 – Relazioni tra tabelle Quando chiudi la finestra Relazioni, fai clic su Sì per salvare le modifiche apportate. [ 5.2.4.3 ] Le relazioni sono strutture estremamente complesse e, per certi versi, delicate. Eliminare una relazione per errore o cancellare un campo impegnato in una relazione, può causare gravi danni a tutto il database. Per questo motivo, esiste la possibilità di impostare delle regole di sicurezza, che impediscano di provocare inavvertitamente danni all’archivio. L’Integrità Referenziale è un sistema di regole che svolgono tale compito. Infatti, garantisce che le relazioni tra i record delle tabelle correlate siano valide e che non vengano eliminati o modificati per errore i dati correlati. L’integrità referenziale può essere applicata solo se vengono rispettate determinate condizioni: • il campo corrispondente della tabella primaria o è una chiave primaria o dispone di un indice univoco; • i campi correlati contengono lo stesso tipo di dato, con le eccezioni viste in precedenza per il campo Contatore; • entrambe le tabelle appartengono allo stesso database di MS Access. L’attivazione del controllo sull’Integrità Referenziale pone alcuni limiti nell’utilizzo del database. In primo luogo, in fase di registrazione non puoi inserire un record con il campo Chiave esterna, che contiene un valore che non è presente in una delle Chiavi primarie. Tuttavia, ti è permesso inserire un valore Null nella chiave esterna. Il record in questo caso non parteciperà alla relazione. Non puoi eliminare record in un tabella primaria, se esistono record correlati in quella secondaria. Il valore Chiave primaria, nella tabella primaria, non può essere modificato, se quel record dispone di record correlati. Per attivare il controllo dell’Integrità referenziale, apri la finestra Modifica relazioni, riferita alla relazione da modificare. Apri la finestra Relazioni, facendo clic con il tasto destro del mouse sulla linea della relazione, e scegli Modifica relazione. Quindi, nella finestra di dialogo, attiva l’opzione Controlla integrità referenziale. 32 Modulo 5 – Database (Office XP) 5.3.1 – Operare con le maschere 5.3.1 – Operare con le maschere [ 5.3.1.1 ] La maschera è un oggetto estremamente utile e versatile, che MS Access ti mette a disposizione per facilitare l’utilizzo del database. Possiamo paragonare una maschera all’interfaccia grafica di un sistema operativo. In una maschera, infatti, vengono visualizzati i campi di ogni tabella, per facilitare l’inserimento e la visualizzazione dei dati, e possono essere introdotti pulsanti, che permettano all’utente finale di utilizzare il database senza dover per forza conoscere le funzioni di MS Access. Le maschere, dunque, ti consentono di personalizzare il tuo database e di renderlo un prodotto realmente fruibile anche per chi non ha dimestichezza con la gestione delle tabelle e della struttura del database stesso. Una maschera è uno degli oggetti presenti nel database. Le maschere, come le tabelle, possono essere aperte in due modalità: • visualizzazione Maschera: seleziona Maschere, dalla barra degli Oggetti, e fai doppio clic sulla maschera da aprire, oppure puoi fare clic sul pulsante Apri, dopo aver selezionato la maschera desiderata; • visualizzazione Struttura: seleziona la maschera e fai clic sul pulsante Struttura. Qualora il tuo database fosse munito di una maschera con il ruolo di Home Page del database, puoi fare in modo che questa si apra automaticamente quando lanci il file, attraverso una semplice Macro, che chiamerai obbligatoriamente Autoexec. [ 5.3.1.2 ] Per generare una nuova maschera, hai la possibilità di scegliere tra tre differenti modalità. La più semplice prevede la creazione di una maschera, collegata a una tabella o a una query, includendone tutti i campi. Per usare questo metodo, scegli Maschere, dalla barra degli Oggetti. Quindi, fai clic su Nuovo e, nella finestra Nuova maschera, seleziona una delle opzioni previste, per la maschera standard. 33 Modulo 5 – Database (Office XP) 5.3.1 – Operare con le maschere Scegli poi la tabella o la query da utilizzare e fai clic su Ok. Le differenti modalità di maschera sono: • A colonne: visualizza i campi, disponendoli in colonna; • Tabulare: visualizza i record, disponendoli in righe successive; • Foglio dati: visualizza i record in un foglio dati; • Tabella pivot: visualizza i record in una tabella pivot; • Grafico pivot: genera un grafico pivot. Il secondo modo per generare una maschera, è quello di fare doppio clic su Crea una maschera mediante una creazione guidata, nella scheda Maschere. Puoi accedere alla stessa procedura, facendo clic su Nuovo e scegliendo l’opzione Creazione guidata Maschera. Nella finestra di dialogo Creazione guidata Maschera, scegli la tabella o la query, a cui associare la maschera, e premi Ok. Nella prima finestra del processo di creazione, devi scegliere quali campi importare nella maschera, agendo su due pulsanti. Il primo ti consente di importare un singolo campo alla volta. Seleziona il campo da importare e fai clic sul pulsante. Il secondo importa tutti i campi della tabella. Una volta finito il processo di 34 Modulo 5 – Database (Office XP) 5.3.1 – Operare con le maschere inserimento dei campi, fai clic sul pulsante Avanti per proseguire le operazioni di creazione. Nelle schermate che seguono, vengono presentate diverse opzioni grafiche per la creazione della maschera. In ogni schermata, seleziona le opzioni che più si adattano alle tue necessità. L'ultima finestra ti permette di aprire subito la maschera generata, oppure di intervenire sulla struttura per modificarne i particolari. Il processo si conclude facendo clic sul pulsante Fine. Il terzo sistema è quello di generare la maschera attraverso la visualizzazione Struttura. Fai doppio clic su Crea una maschera in visualizzazione struttura. Si apre la struttura di una nuova maschera vuota. Scegli Proprietà, dal menu Visualizza e, nella cartella Dati, indica il nome della tabella o della query, da associare alla maschera, selezionando una voce dal menu a tendina Origine record. Dalla finestra Elenco campi, seleziona a uno a uno i campi da inserire nella maschera e trascinali nella posizione corretta. Modifica a tuo piacimento l’aspetto e le funzionalità della maschera, verificando di tanto in tanto il risultato delle impostazioni. A tale scopo passa dalla visualizzazione struttura alla visualizzazione maschera, facendo clic sul pulsante Visualizza. Indipendentemente da come scegli di generare una maschera, l’ultima 35 Modulo 5 – Database (Office XP) 5.3.1 – Operare con le maschere operazione che ti viene richiesta è di salvarla, attribuendole un nome. Se usi la creazione guidata, il salvataggio della maschera è l’ultimo passaggio del processo. Negli altri due casi, devi salvare la maschera con il comando Salva o Salva con nome, del menu File. Se provi a chiudere la maschera senza averla salvata, il sistema ti chiede se vuoi procedere con tale operazione. Fai clic su Sì per accettare il suggerimento. Dopo essere stata generata, la maschera viene visualizzata all'interno della finestra e mostra il primo record inserito nella tabella. Come per le tabelle, è possibile navigare tra i record, agendo sui pulsanti ai piedi della finestra. [ 5.3.1.3 ] La maschera è uno strumento molto versatile, in quanto ti consente di visualizzare, modificare, aggiungere e cancellare i record. Apri la maschera con la quale vuoi lavorare, facendo doppio clic su di essa, oppure selezionandola e premi Apri. Una volta aperta la maschera, per inserire un nuovo record, premi il pulsante Nuovo Record ai piedi della maschera. La maschera appare con i campi vuoti, il cursore si trova nel primo campo e puoi iniziare a inserire i dati. Spostati tra i campi, utilizzando i metodi descritti per le tabelle, e digita nelle caselle i dati. Quando hai finito l’inserimento del record completo, il simbolo della matita sulla barra di sinistra torna a essere una freccia. Questo indica che il record inserito è stato salvato. Per correggere una valore in un campo, naviga fino a trovare il record desiderato, quindi fai clic sul campo da modificare, il simbolo sulla barra di sinistra è una matita. Digita il nuovo valore del campo o correggi quello già inserito. Per eliminare un record, visualizzalo nella maschera e fai clic sul pulsante Elimina record oppure scegli Elimina, dal menu Modifica. [ 5.3.1.4 ] Quando apri una maschera, viene visualizzato sempre il primo record della tabella o della query associata. Usa i pulsanti di spostamento per visualizzare un record specifico. Oltre alla barra ai piedi della maschera, nella quale sono presenti i pulsanti di cui conosciamo le funzionalità, anche il menu Modifica, alla voce Vai, contiene i comandi per la navigazione nel database. Infine, per sfogliare l’archivio record dopo record, usa i pulsanti della tastiera Pag Su e Pag Giù. [ 5.3.1.5 ] Le maschere, oltre a presentare in modo ordinato i dati, possono avere anche elementi diversi. Puoi abbellirle con elementi grafici o con funzioni particolari. Per modificarne l’aspetto, devi visualizzarne la struttura. 36 Modulo 5 – Database (Office XP) 5.3.1 – Operare con le maschere Puoi accedere alla struttura della maschera o premendo il pulsante Struttura, nella scheda maschere, o facendo clic sul pulsante Visualizza, nella finestra della maschera aperta. La struttura viene visualizzata come un insieme di oggetti disposti ordinatamente su una griglia, che nella visualizzazione dati non sarà visibile. Ogni oggetto della struttura può essere selezionato individualmente o a gruppi e su di esso possono essere applicate le opzioni di formattazione. Lo stesso sfondo, indicato come Corpo, può essere selezionato per modificarne il colore o l'aspetto. Puoi ingrandire lo sfondo trascinandone il bordo laterale. Questa operazione ti permette di avere più spazio, per spostare e organizzare gli oggetti all'interno della maschera. Selezionando l'etichetta di un campo, l'intero oggetto può essere spostato trascinandolo all'interno della maschera. Oltre al corpo, la maschera presenta due altre aree: l’intestazione maschera e il Piè di pagina maschera. Queste parti ti permettono di inserire nella finestra elementi statici, che migliorano l’aspetto grafico dell’oggetto e possono aumentarne le funzioni. L’inserimento di un oggetto nell’intestazione o nel piè di pagina avviene con le stesse modalità descritte per il corpo della maschera. Come prima cosa, espandi l’area dedicata all’intestazione e al piè di pagina trascinandone il bordo inferiore. La larghezza di queste aree concorda con quella del corpo. Ora seleziona il tipo di oggetto da inserire, scegliendolo tra quelli presenti nella Casella degli strumenti, fai clic sul punto di inserimento dell’oggetto e, se è il caso, modifica il nuovo elemento, operando come è stato descritto finora per renderlo affine alle tue esigenze. 37 Modulo 5 – Database (Office XP) 5.3.1 – Operare con le maschere [ 5.3.1.6 ] Eliminare una maschera è un’operazione semplice e immediata. Devi però tenere presenti due cose. In primo luogo, è impossibile eliminare una maschera aperta; in secondo luogo l’operazione è irreversibile, la maschera cancellata non può essere recuperata in alcun modo. Seleziona Maschere, sulla barra degli Oggetti, seleziona la maschera da cancellare e premi Canc sulla tastiera, oppure fai clic sul pulsante Elimina, o seleziona la relativa funzione nel menu Modifica. Conferma l’operazione scegliendo Sì. [ 5.3.1.7 ] Come abbiamo avuto modo di vedere più volte, quando vengono inseriti o modificati dati, il salvataggio delle operazioni avviene automaticamente. Al contrario, se le modifiche riguardano la struttura della maschera, devono essere salvate. Per salvare le modifiche apportate alla struttura di una maschera, scegli Salva, dal menu File, o fai clic sul pulsante Salva. In caso di dimenticanza, il sistema ti chiede il salvataggio delle modifiche, quando provi a chiudere la maschera. 38 Modulo 5 – Database (Office XP) 5.4.1 – Operazioni fondamentali di ricerca 5.4.1 – Operazioni fondamentali di ricerca [ 5.4.1.1 ] Un archivio, cartaceo o digitale, risulta inutile nel momento in cui i dati in esso conservati non siano facilmente reperibili. La consultazione di un database, realizzato in Access, può avvenire a diversi livelli e con differenti gradi di selezione. Tra le possibili operazioni di ricerca che puoi svolgere su un database, quella più semplice e immediata è la funzione Trova. Come prima cosa devi aprire la tabella, la maschera o la query, all’interno della quale vuoi cercare un determinato valore. Attiva la funzione scegliendo Trova, dal menu Modifica, o facendo clic sul pulsante Trova, presente sulla barra degli strumenti. La finestra di dialogo che compare ti permette sia di immettere il valore da ricercare, sia di selezionare in quale campo ricercarlo, sia di decidere se confrontarlo con il campo intero o con parte di esso. Hai, inoltre, la possibilità di impostare un’area di ricerca: tutto il contenuto della tabella, solo i record successivi a quello attivo, solo quelli precedenti. Come valore per la ricerca, puoi impostare stringhe di caratteri contenenti i caratteri jolly * e ?, che sostituiscono rispettivamente una striscia di caratteri qualsiasi o un solo carattere. Non è, invece, possibile immettere come valore di ricerca un’espressione. Una volta impostate tutte le opzioni desiderate, fai clic su Trova successivo per dare inizio alla ricerca. Puoi interagire con la maschera o la tabella in qualsiasi momento, lasciando aperta la finestra Trova e sostituisci per modificare valori nei campi o inserire elementi nuovi. pagina 1 di 3 39 Modulo 5 – Database (Office XP) 5.4.1 – Operazioni fondamentali di ricerca Puoi abbinare alla funzione Trova la funzione Sostituisci. Apri la seconda scheda presente nella finestra e inserisci il secondo elemento, per compiere l’operazione di sostituzione. [ 5.4.1.2 ] Un altro metodo per selezionare i record di una tabella è applicare un filtro. Un filtro è simile a una query, che tratteremo in dettaglio in seguito, ma presenta alcune limitazioni: • può essere applicato solo a una tabella aperta; • permette di operare su una singola tabella; • può selezionare solo record e non campi. Il suo uso è abbastanza vario. Puoi usarlo in modo estemporaneo, generare una query che può essere salvata per usi futuri o essere aggiunta come condizione a una query preesistente. Puoi inserire come criterio di un filtro qualsiasi stringa di caratteri, oppure criteri di uguaglianza, maggiore, minore, Null. Sulla barra degli strumenti, sono presenti tre pulsanti che si riferiscono ai filtri. Partendo da sinistra, troviamo il Filtro in base a selezione che pone come criterio la stringa di caratteri contenuta nella cella attiva o la parte selezionata di una stringa. Seleziona il dato che desideri usare come criterio e premi il pulsante Filtro in base a selezione. Al centro è presente il Filtro in base a maschera, che consente di impostare più criteri contemporaneamente. Quando attivi questa funzione, infatti, puoi agire direttamente sulla maschera, inserendo criteri diversi in ogni campo. Puoi digitare il criterio o selezionare un 40 Modulo 5 – Database (Office XP) 5.4.1 – Operazioni fondamentali di ricerca valore nella tendina che si attiva sul campo attivo. Quando hai finito di impostare i criteri, fai clic sul pulsante Applica filtro. Puoi applicare il filtro anche scegliendo Applica filtro/ordina, dal menu Record. [ 5.4.1.3 ] Abbiamo detto che il filtro può essere applicato in modo estemporaneo. Mentre lavori in una maschera, puoi avere la necessità di compiere una selezione sui record da visualizzare e, applicando un filtro, puoi ottenere questo risultato, visualizzando solo i record che rispondono ai criteri imposti. Per tornare a visualizzare tutto il contenuto dell’archivio, è necessario rimuovere il filtro, quindi i criteri di selezione. Per rimuovere un filtro attivo, devi solo fare clic sullo stesso pulsante che hai utilizzato per attivarlo. A conferma del cambiamento della funzione legata al pulsante, quando un filtro è attivo il pulsante cambia anche nome, diventando Rimuovi Filtro. 41 Modulo 5 – Database (Office XP) 5.4.2 – Query 5.4.2 - Query [ 5.4.2.1 ] La Query rappresenta il vero asso nella manica di chi progetta, sviluppa e utilizza un database. Essa è una domanda che viene fatta all’archivio, per ottenere un insieme di dati che corrispondono a determinati criteri. Sono illimitate le possibilità insite nel linguaggio con cui vengono generate le query, consentendo di arrivare a ottenere risposte precise anche a domande estremamente complesse. MS Access ti mette a disposizione, per generare query semplici e complesse, diversi strumenti, che ti danno la possibilità di interrogare un’unica tabella o più tabelle relazionate tra loro, indicando uno o più criteri combinati, attraverso congiunzioni di tipo AND o OR. Grazie a questi strumenti, la generazione della query avviene attraverso un’interfaccia grafica, secondo la tecnica Query by example (QBE), che ti permette di impostarne la struttura, i criteri, gli ordinamenti, senza conoscere il linguaggio SQL (Structured Query Language), che verrà compilato direttamente dal programma. In tal senso, Access funge da interprete, compilando un codice di programmazione in base a quanto indicato nella finestra di generazione della query. Access offre diversi tipi di query: • Query di selezione: recuperano le informazioni e visualizzano i record attraverso una tabella, che può essere associata a una maschera; • Query a campi incrociati: visualizza valori calcolati di un campo; • Query di comando: eseguono operazioni sui record filtrati; • Query con parametri: consentono di impostare i criteri di relazione al momento dell’esecuzione della query. Il risultato di una query è una tabella, che contiene solo i dati che rispondono ai criteri impostati nella struttura della query stessa. Tale tabella: • può essere associata a una maschera; • può essere ulteriormente ridotta, attraverso l’uso dei Filtri; • può essere l’oggetto di una ulteriore Query; può essere stampata attraverso un Report. Le tabelle generate dalle query sono dinamiche (Dynaset), cioè quando viene modificato un dato vengono modificate tutte le occorrenze di tale dato. In altre parole, i dati presenti in una query sono modificabili e le modifiche apportate vengono registrate direttamente nelle tabelle di origine. 42 Modulo 5 – Database (Office XP) 5.4.2 – Query Come abbiamo già accennato una query viene generata utilizzando il linguaggio SQL (Structured Query Language), diventato uno standard per i linguaggi di interrogazione di database. Tale linguaggio è costituito da facili comandi, comprensibili anche per un utente con limitate competenze informatiche. Più semplicemente, al posto di usare direttamente il linguaggio SQL, puoi servirti di una sua interfaccia grafica, che semplifica ulteriormente la creazione del comando di query. In tal modo, realizzi la query, compilando una tabella in cui sono selezionati i campi, i criteri di estrazione ed eventuali ulteriori operazioni. Possiamo individuare alcuni passaggi chiave nella realizzazione di una query: • la selezione della funzione; • la scelta di operare mediante la definizione della struttura della query; • la selezione delle tabelle su cui operare; • la selezione dei campi su cui operare e dei campi da inserire nella tabella; • la definizione dei criteri di estrazione dei record; • l'esecuzione della query. Come per gli altri oggetti di Access, anche in questo caso puoi utilizzare una creazione guidata, per generare una query in modo facile e preciso. Seleziona Query, nella barra degli Oggetti, e fai clic su Nuovo. Seleziona Creazione guidata query semplice. In alternativa, fai doppio clic su Crea una query mediante una creazione guidata, nella finestra Database. 43 Modulo 5 – Database (Office XP) 5.4.2 – Query La prima schermata ti consente di selezionare la tabella e i campi da inserire nella query. Facendo clic sul pulsante Avanti, ti viene chiesto se mostrare tutti i campi (opzione preimpostata) o solo alcuni. Ti consiglio di scegliere di visualizzare tutti i campi inseriti nella query, perché potrai modificare facilmente tale scelta in seguito. In generale, serve inserire i campi che vuoi siano mostrati e i campi che ti servono, per impostare i criteri di selezione. Nell'ultima schermata puoi scegliere se visualizzare il risultato della query, mandandola in esecuzione, o aprire la struttura per apportare eventuali modifiche. Qualora volessi avere maggiore controllo su tutte le fasi della generazione della query o avessi la necessità di creare una query su più tabelle, genera il nuovo oggetto mediante la struttura. Premi il pulsante Nuovo e scegli l’opzione Visualizzazione Struttura. In alternativa, fai doppio clic su Crea una query in visualizzazione struttura. Si aprono due finestre: quella sullo sfondo rappresenta la struttura della query; quella in primo piano visualizza l’elenco delle tabelle e delle query presenti nel database. Seleziona gli oggetti da importare nella struttura, Tabella o Query, e premi Aggiungi per inserirli. Fai clic su Chiudi, quando hai completato l’operazione. Nella struttura, trovi visualizzati tutti gli oggetti che hai importato, che contengono l’elenco dei campi disponibili. Fai doppio clic, per inserire i campi desiderati nella struttura della query. 44 Modulo 5 – Database (Office XP) 5.4.2 – Query Puoi anche selezionare ogni singolo campo e trascinarlo nella colonna di destinazione, oppure selezionare il nome della tabella e il nome del campo direttamente nel menu a tendina, presente nelle apposite caselle della struttura. Una volta generata la struttura della query, immetti i criteri di ricerca nella casella Criteri. Se lo desideri imposta un ordinamento sui campi, scegliendone le modalità dal menu a tendina della casella Ordinamento. Un campo può servirti per filtrare i dati, ma puoi non avere la necessità di visualizzarlo; in questo caso puoi nasconderlo disattivando l’opzione Mostra. Concluse le operazioni, fai clic su salva, digita il nome della query e scegli Sì. Quando operi su più tabelle, per le quali sono già state generate le relazioni, queste vengono visualizzate. Nel caso le relazioni non siano già state generate, puoi effettuare l’operazione usando il sistema di trascinare con il mouse il campo dalla tabella primaria a quella secondaria. Quando importi più tabelle correlate in una query e inserisci nella struttura campi provenienti da entrambe le tabelle, il risultato della query contiene quei record logici di cui abbiamo parlato nel primo tema. [ 5.4.2.2 ] La versatilità dei criteri che si possono impostare rende lo strumento Query particolarmente potente. Per imporre i criteri di estrazione usa le righe Criteri e Oppure. Le celle diverse di tali righe sono legate da operatori And (e), se i vincoli sono riportati sulla stessa riga, e di Or (o), se si trovano su righe diverse. Se due criteri sono congiunti da Or, vengono restituiti tutti i record che rispondono a un criterio, all’altro, o a entrambi. Se due criteri sono congiunti da And, vengono restituiti tutti i record che rispondono contemporaneamente ai due criteri. L’inserimento dei criteri nella struttura della query deve seguire determinate regole. Per l'introduzione di dati, le stringhe di caratteri (campo formato testo) vengono racchiuse tra virgolette, mentre i dati numerici sono rappresentati nella forma usuale. Introducendo, però, stringhe di caratteri senza virgolette, nei criteri di campi definiti come testo, il sistema effettua automaticamente la conversione al formato corretto. Per i campi definiti data od ora, i dati devono essere introdotti tra due caratteri “cancelletto”, nella forma, ad esempio #31.12.01#. Anche in questo caso, se non viene rispettata tale regola ma il criterio viene applicato a un campo di tipo data od ora, il sistema corregge il formato in modo automatico. Dopo l’introduzione del criterio, la relativa cella compare nella forma sintattica corretta. 45 Modulo 5 – Database (Office XP) 5.4.2 – Query Con l'utilizzo degli operatori And e Or, le condizioni di associazione di più criteri relativi allo stesso dato possono essere indicate nella stessa cella. Gli operatori < (minore), > (maggiore), = (uguale), permettono di impostare delle espressioni logiche sia su campi numerici sia su stringhe alfanumeriche, in questo caso considerando un ordinamento alfabetico. Questi operatori possono essere combinati fra loro per ottenere criteri del tipo: >= (maggiore uguale), <= (minore uguale), <> (diverso). Puoi generare espressioni ancora più complesse, attraverso l’uso di questi operatori logici e delle congiunzioni And e Or, e della negativa Not. In alcuni casi, esistono sintassi abbreviate rispetto a quelle che si possono ottenere con gli operatori descritti. Esempi classici sono l’utilizzo di Between al posto di <, >, =, And. Ad esempio: Between 12 And 40 Equivale a: >= 12 And <= 40 Entrambe restituiscono i record con valori in quel campo compresi fra 12 e 40, estremi inclusi. Gli operatori And e Or possono essere ripetuti. Si ottiene, ad esempio, un criterio di questo tipo: Milano or Pavia or Brescia. Puoi, più semplicemente, utilizzare l’espressione: IN (Milano; Pavia; Brescia). Puoi notare come il sistema ti aiuti a scrivere correttamente la sintassi, correggendo automaticamente eventuali errori. Vediamo la funzione di altri operatori. Gli operatori Null e Not Null ti consentono di inserire come criterio la condizione che il campo abbia o no un valore. L'operatore Date () impone come criterio la data del giorno di elaborazione della query, prelevando il dato dal sistema. Puoi utilizzare questo operatore in una formula con un intervallo di tempo. Nel caso di campi Sì/no, i criteri di selezione utilizzabili sono: Sì, No, o anche Vero, Falso. Un’ultima avvertenza riguarda l’utilizzo dei caratteri jolly: * e ?. Tali caratteri possono essere utilizzati per stringhe di caratteri qualsiasi o per un singolo carattere, sia nei campi di tipo testo sia per le date. Se, ad esempio, indico come criterio P*, nel campo cognome, verranno selezionati tutti i cognomi che iniziano con la lettera P. 46 Modulo 5 – Database (Office XP) 5.4.2 – Query A conclusione di quanto sopra esposto forniamo qui di seguito alcuni esempi di criteri in risposta a specifici problemi. Se vuoi estrarre tutti i prodotti con Prezzo minore di 1000 €: Campo Prezzo Criteri < 1000 Se vuoi estrarre tutti i record con Città Roma o Milano: Campo Città Criteri Roma Oppure Milano o anche Campo Città Criteri Roma or Milano o anche Campo Città Criteri IN (Roma; Milano) Se vuoi estrarre tutti i nati nell’anno 2000: Campo Data nascita Criteri Between #1/1/00# and #31/12/00# o anche Campo Data nascita Criteri >= #1/1/00# and <=#31/12/00# 47 Modulo 5 – Database (Office XP) 5.4.2 – Query [ 5.4.2.3 ] Non è sempre vero che una corretta riflessione, prima di impostare i criteri in una query, ti porti ad avere subito il risultato desiderato. Questo non è un problema in quanto ogni query può essere modificata, al fine di “tarare” correttamente i suoi criteri. Per modificare una query, scegli Query, nella barra degli Oggetti, e seleziona la query da modificare. Quindi, premi il pulsante Struttura per aprire la relativa finestra. Seleziona la cella che contiene il criterio da modificare o, comunque, la cella dove inserire il nuovo criterio e digita la nuova espressione, tenendo a mente che il sistema provvederà alla correzione automatica della sintassi, in caso di errori. Premi Invio, per confermare l’inserimento dei nuovi parametri, e chiudi la finestra accettando le modifiche. Quando modifichi una query, ottieni una query nuova. Se usi il comando Salva, la nuova query sostituisce integralmente quella vecchia. In alcuni casi, è tuo interesse conservare entrambi gli oggetti. In questo caso, scegli Salva con nome, dal menu File, e attribuisci alla nuova query un nome diverso dalla precedente. In questo modo, conservi la vecchia struttura e ne ottieni una nuova. [ 5.4.2.4 ] Esistono altre modifiche che possono essere apportate a una query. Lavorando sempre in visualizzazione struttura, puoi aggiungere o eliminare campi dalla query. Per aggiungere un campo a una query, scegli il campo da aggiungere, dall'elenco dei campi della tabella o delle tabelle alle quali si riferisce la query. Fai doppio clic su di esso, per introdurlo automaticamente nella struttura, oppure trascinalo su una colonna libera, dopo averlo selezionato. Il nuovo campo è ora disponibile nella query e a esso possono essere applicati i criteri di ricerca. Per eliminare un campo da una query, è sufficiente cancellare il nome del campo nella tabella, oppure selezionare la colonna e premere Canc sulla tastiera. Nella struttura di un query è giusto dare importanza anche alla sequenza dei campi. Tale sequenza, infatti, si rispecchia anche nella visualizzazione foglio dati, in un’eventuale maschera e nell’ordine di digitazione dei dati. Puoi spostare un campo nella struttura, utilizzando la funzionalità Drag & Drop. Seleziona la colonna da spostare, fai clic su di essa e trascinala nella nuova posizione, tenendo premuto il tasto del mouse. Abbiamo già visto come sia possibile nascondere un campo. Questa funzione ti è utile quando usi un certo campo per selezionare i record, ma non ti interessa visualizzarne i valori. In questo caso, fai clic sulla casella di controllo Mostra, per disattivare l’opzione. Rendere invisibile un campo è ben diverso dal cancellarlo dalla struttura della query. Le due operazioni hanno significati e scopi differenti. 48 Modulo 5 – Database (Office XP) 5.4.2 – Query [ 5.4.2.5 ] Quando apri una query, viene visualizzato direttamente il risultato, quindi essa viene eseguita automaticamente. Puoi eseguire direttamente la query passando dalla visualizzazione della struttura alla visualizzazione del foglio dati, premendo il pulsante Visualizza oppure facendo clic sul pulsante Esegui. I due pulsanti, Visualizza ed Esegui, hanno lo stesso effetto per le query di visualizzazione, mentre hanno funzioni diverse per altri tipi di query, quali quelle di comando. [ 5.4.2.6 ] Per cancellare una query, comportati come con gli altri oggetti che hai avuto modo di conoscere durante questo modulo. Quindi, seleziona Query, dalla barra degli Oggetti. Seleziona la query da eliminare e premi Canc, sulla tastiera, o fai clic sul pulsante Elimina, sulla barra degli strumenti, o utilizza la funzione Elimina, del menu Modifica. Scegli Sì per confermare l’operazione. Prima di eliminare una query devi accertarti che questa non sia aperta. In caso contrario, non può essere cancellata: chiudila e ripeti l’operazione. Come al solito, ti ricordo che l’operazione appena descritta è irreversibile, quindi medita attentamente prima di effettuarla. [ 5.4.2.7 ] Abbiamo già visto come, tutte le volte che viene modificata la struttura di un query, sia necessario salvare tali modifiche per renderle disponibili in futuro. Per salvare una query scegli Salva, dal menu File, oppure fai clic sul pulsante Salva. Se il salvataggio conclude le operazioni da svolgere su una query, puoi chiudere la finestra e scegliere Sì, per salvare le modifiche. Ricorda che puoi utilizzare il comando Salva con nome, per ottenere una nuova query dalle modifiche apportate alla vecchia. 49 Modulo 5 – Database (Office XP) 5.4.3 – Ordinare i record 5.4.3 – Ordinare i record [ 5.4.3.1 ] Per completare la panoramica sugli strumenti che ti permettono di interrogare il tuo database e di visualizzare i dati in maniera facilmente comprensibile, in questo tema prendiamo in considerazione le funzioni di ordinamento, da applicare alle tabelle, alle maschere o ai fogli dati, che contengono i risultati delle query. È importante, quando ci si trova di fronte a una grossa mole di dati, renderne facile la lettura. In questo senso, lavorando su una tabella in visualizzazione foglio dati, puoi ordinare i dati in ordine crescente, decrescente e alfabetico. Per ottenere tale risultato nel foglio dati, rendi attiva una cella della colonna sulla quale vuoi impostare l’ordinamento e fai clic su uno dei due pulsanti Ordinamento, che si trovano sulla barra degli strumenti, secondo le tue esigenze. L’ordinamento può essere fatto anche su più colonne, in questo caso la priorità nell’ordinamento va da sinistra a destra, seguendo la disposizione delle colonne. Seleziona le colonne sulle quali vuoi applicarlo e fai clic su uno dei due pulsanti Ordinamento, sulla barra degli strumenti. I comandi Ordinamento sono presenti anche nel menu Record, alla voce Ordina. L’ordinamento dei dati può essere eseguito anche su una maschera. In questo caso, sfogliando i record uno dopo l’altro, questi compariranno ordinati secondo il campo prescelto. Apri la maschera e fai clic sulla casella del campo sul quale vuoi applicare l’ordinamento. Fai clic su uno dei due pulsanti Ordinamento, sulla barra degli strumenti. Anche in questo caso, i comandi Ordinamento sono presenti anche nel menu Record, alla voce Ordina. Abbiamo visto che il risultato di una query può essere visualizzato con un semplice foglio dati o tramite una maschera. In entrambi i casi, è possibile compiere la funzione di ordinamento secondo le modalità descritte nei punti precedenti. In tutti i casi sopra descritti, se vuoi che i criteri di ordinamento impostati siano utilizzati in aperture successive della tabella, della maschera o della query, occorre salvare tali impostazioni al momento di chiusura dell’oggetto. Nel caso della query, i criteri di ordinamento possono essere anche impostati, come abbiamo visto, direttamente nella sua struttura. Il vantaggio, in questo caso, è che puoi facilmente verificare il criterio o i criteri di ordinamento impostati. 50 Modulo 5 – Database (Office XP) 5.5.1 – Operare con i report 5.5.1 – Operare con i report [ 5.5.1.1 ] I report sono il risultato stampato delle tue interrogazioni sul database. Una volta estratti i dati da un database, attraverso uno degli strumenti che abbiamo visto, hai la possibilità di stamparli in modo elegante ed efficace. In un report hai la possibilità di attivare nuovi controlli, che raffinano ulteriormente la tua ricerca. In particolare, è possibile raggruppare i dati, usando i campi come intestazioni di ogni gruppo, e ordinare i dati all’interno del report secondo diversi criteri. Particolari funzioni e strumenti ti permettono, infine, di abbellire il report, per rendere ancora più efficace e puntuale la rappresentazione dei dati. I dati da inserire in un report possono provenire da una tabella o da una query. Puoi, inoltre, arricchire le informazioni contenute al suo interno, generando altri dati mediante la sua stessa struttura. Puoi generare un report, definendo direttamente la struttura, o, più semplicemente, ricorrendo 51 Modulo 5 – Database (Office XP) 5.5.1 – Operare con i report all'autocomposizione. In ogni caso, puoi modificare facilmente la struttura generata con l'autocomposizione e adattarla alle tue esigenze. Per iniziare l’autocomposizione di un report, seleziona Report, nella barra degli Oggetti. Seleziona, quindi, il comando Creazione guidata report e la tabella da cui trarre i dati. Fai clic su Ok, per dare inizio al processo di generazione. In alternativa, fai doppio clic su Crea un report mediante una creazione guidata. Fai clic su Avanti per iniziare il processo. Nelle schermate che si susseguono, scegli le opzioni che più soddisfano le tue esigenze. Per passare da una pagina a quella successiva, premi Avanti. Nella prima finestra puoi scegliere quali campi mostrare all'interno del report. La seconda pagina ti permette di impostare dei raggruppamenti nella stampa dei dati. La pagina successiva visualizza l’elenco dei campi non interessati dal raggruppamento. Tra questi puoi scegliere fino a quattro ordini di stampa. Tale criterio è applicato solo dopo i primi due criteri di raggruppamento. Nelle due schermate successive puoi impostare l'aspetto grafico, selezionando un’opzione tra quelle elencate. Prima di aprirlo, il sistema ti chiede il titolo da impostare nella prima riga del report. Lasciando selezionata l'opzione Visualizza il report in anteprima e facendo clic sul pulsante Fine, il report viene visualizzato sullo schermo. L’ultimo passaggio del processo determina il salvataggio della struttura del report. [ 5.5.1.2 ] Puoi modificare un report generato con l'autocomposizione, per migliorarne le caratteristiche grafiche e la visualizzazione dei dati. Effettui queste operazioni aprendone la struttura. A tale scopo, seleziona il report da modificare e fai clic sul pulsante Struttura. Per poter lavorare all’interno della struttura del report, è importante avere a disposizione la Casella degli strumenti. Se non è visibile, fai clic sull’apposito pulsante sulla barra degli strumenti. La casella degli strumenti contiene una serie di pulsanti che ti permettono di inserire nei report elementi diversi come: immagini, pulsanti, elenchi, cartelle, ecc. 52 Modulo 5 – Database (Office XP) 5.5.1 – Operare con i report Ogni elemento presente sul report può essere selezionato e modificato, applicando i diversi stili di formattazione. Un oggetto selezionato può essere spostato nella struttura del report. Per trasferire un elemento del report da una intestazione a un’altra o dal corpo del documento a un’intestazione o piè di pagina, è sufficiente trascinarlo con il mouse nella nuova collocazione. Agendo sui suoi bordi, si può ridimensionare ogni zona del documento. [ 5.5.1.3 ] Hai visto, durante la procedura di generazione di un report, che i dati possono essere raggruppati in base ai valori di uno o più campi. Grazie a questo tipo di organizzazione, puoi calcolare i totali per ogni gruppo e stamparli nel report. È possibile impostare i raggruppamenti anche manualmente nella struttura del report. Apri la finestra di dialogo Ordinamento e raggruppamento, facendo clic sul pulsante omonimo. All’interno della finestra, indica in ordine di importanza decrescente i campi che vuoi usare per il raggruppamento. Conclusa questa operazione, imposta su Sì il controllo delle voci Intestazione (gruppo) e Piè di pagina (gruppo). Tornando 53 Modulo 5 – Database (Office XP) 5.5.1 – Operare con i report nella finestra della struttura, posiziona nelle apposite intestazioni le caselle di testo dei campi raggruppati. Nella finestra Ordinamento e raggruppamento puoi anche impostare un ordinamento per i record all’interno di ciascun raggruppamento. Seleziona il campo da ordinare e il tipo di ordinamento. Questa volta lascia su No il valore dei controllo per l’intestazione e il piè di pagina dei gruppi. [ 5.5.1.4 ] Abbiamo accennato al fatto che, usando i raggruppamenti, puoi ottenere il conteggio degli elementi in ogni gruppo. Per attivare questa funzione, apri la struttura del report da modificare e accertati che sia visibile il piè di pagina del raggruppamento. In caso contrario, attivalo attraverso la finestra Ordinamento e raggruppamento, descritta in precedenza. Nel piè di pagina del raggruppamento inserisci una casella di testo, della quale dovrai modificare le proprietà. Selezionala e fai clic con il tasto destro del mouse, per aprire il menu di scelta rapida. Fai clic su Proprietà. In alternativa seleziona Proprietà, dal menu Visualizza. Nella finestra visualizza la scheda Dati e inserisci nella casella Origine controllo l’espressione, che ti permette di ottenere il valore desiderato. Ad esempio, per contare gli elementi presenti in ciascun gruppo devi lasciare impostato No, come controllo per la casella Somma parziale, e digitare la formula =Conteggio([campo]), nella casella Origine controllo, dove “campo” viene sostituito dal nome di un campo presente nel raggruppamento. La quantità di espressioni che puoi generare è elevata e puoi farti aiutare dal Generatore di espressioni. Fai clic sul pulsante (…), accanto alla casella Origine controllo, per aprire il generatore. 54 Modulo 5 – Database (Office XP) 5.5.1 – Operare con i report [ 5.5.1.5 ] L’intestazione e il piè di pagina vengono inseriti automaticamente all’interno del report, quando si usa la funzione di creazione guidata. Nella finestra che visualizza la struttura del report, ciascuna area del documento è distinta dalle altre, attraverso una netta separazione. In questo modo, puoi decidere come e dove debbano essere ripetuti gli oggetti presenti in un report. Se inserisci un oggetto all’interno dell’Intestazione Pagina o del Piè di pagina, questo verrà ripetuto in cima o in fondo a ciascuna pagina del documento. Se vengono utilizzate, invece, l’Intestazione e il Piè di pagina Report, gli elementi verranno visualizzati solo in testa e in coda all’intero documento. L’inserimento e la gestione degli oggetti nelle intestazioni e nei piè di pagina risponde a quanto descritto finora. Per rendere visibili le due possibili intestazioni e piè di pagina, attiva i rispettivi controlli nel menu Visualizza. [ 5.5.1.6 ] Per cancellare un report, segui il procedimento descritto per altri oggetti del database: • seleziona Report, dalla barra degli Oggetti; • seleziona il report da eliminare; • premi CANC sulla tastiera o fai clic sul pulsante Elimina, sulla barra degli strumenti, utilizza la funzione Elimina, del menu File; • scegli Sì, per confermare l’operazione. Prima di eliminare un report, devi accertarti che questo non sia aperto. In caso contrario, non può essere cancellato. Chiudilo e ripeti l’operazione. Come al solito, ti ricordo che l’operazione appena descritta è irreversibile, quindi valutala attentamente prima di compierla. [ 5.5.1.7 ] Nel caso dei report, le modifiche riguardano sempre la struttura. Non è, infatti, possibile modificare i dati in un report. Ogni volta che compi una modifica, dunque, devi salvarla per renderla disponibile nuovamente. Scegli Salva, dal menu File, o fai clic sul pulsante Salva. Se non segui questa procedura, quando provi a chiudere la finestra, il sistema ti chiede il salvataggio delle modifiche. 55 Modulo 5 – Database (Office XP) 5.6.1 – Preparazione 5.6.1 – Preparazione [ 5.6.1.1 ] Siamo arrivati alla fase di stampa. Come passo preliminare, occorre vedere la fase preparatoria della stampa. Imparerai a verificare il corretto funzionamento della fase di stampa, attraverso la verifica dell’Anteprima di stampa. Puoi facilmente verificare come sia possibile migliorare la qualità delle tue stampe, attraverso la modifica di impostazioni come l’orientamento della pagina o le dimensioni del foglio. Prima di lanciare una stampa, è sempre consigliabile verificare le impostazioni attive. L’anteprima di stampa è una rappresentazione a video di un foglio stampato. Puoi visualizzare l’anteprima di stampa di un Foglio dati tabella, di un Foglio dati query, di una Maschera, di un Report. Puoi aprire l’Anteprima di stampa, sia attraverso il pulsante Anteprima di stampa sia scegliendo il relativo comando, dal menu File. [ 5.6.1.2 ] Analizzando il documento attraverso l’anteprima di stampa, puoi facilmente renderti conto della necessità di apportare correzioni alle impostazioni della stampa. 56 Modulo 5 – Database (Office XP) 5.6.1 – Preparazione Scegli Imposta pagina, dal menu File. Nella finestra che si apre hai la possibilità di modificare le dimensioni dei margini, di variare le dimensioni del foglio, ma, soprattutto, di modificare il suo orientamento. Quest’ultima funzione risulta utile quando devi stampare un foglio dati. È frequente, infatti, trovarsi nella condizione nella quale i campi occupano più spazio di quanto sia disponibile in larghezza. Modificare l’orientamento del foglio, ti permette una distribuzione diversa dei dati. Non è obbligatorio stampare i tuoi documenti esclusivamente su formato di carta A4. Nella finestra Imposta pagina, descritta al punto precedente, hai la possibilità di modificare il tipo di carta prescelto. Nella finestra di dialogo visualizza la scheda Pagina. Attraverso un menu a tendina, puoi scegliere la dimensione delle carta da utilizzare per stampare i tuoi documenti. 57 Modulo 5 – Database (Office XP) 5.6.2 – Opzioni di stampa 5.6.2 – Opzioni di stampa [ 5.6.2.1 ] L’ultimo tema di questo modulo contiene la descrizione di tutte la funzioni presenti nella finestra di dialogo Stampa. Il controllo di queste impostazioni rende la stampa uno strumento di analisi dell’archivio. Il loro corretto utilizzo, infatti, ti permette di applicare un ulteriore filtro all’archivio, andando a scegliere cosa stampare. Ricorda che l’utilizzo di queste opzioni richiede una conoscenza delle funzioni del database. È, dunque, sconsigliabile affidarsi a tali funzioni durante la progettazione di un database, dedicato a un utenza generica. La stampa, in molti casi, rappresenta il risultato finale di un’interrogazione al database. Non per questo devi pensare che sia possibile stampare solo elementi di una query oppure un report collegato a essa. Indipendentemente dall’oggetto su cui stai lavorando, accedi alla funzioni di stampa, scegliendo Stampa, dal menu File. La finestra STAMPA ti permette di scegliere la stampante da utilizzare e di impostarne le proprietà. Ti offre, però, molte altre opzioni, che ti permettono di controllare in maniera ottimale il processo di stampa. Nell’area Intervallo di stampa, hai la possibilità di scegliere se stampare tutto il contenuto dell’oggetto aperto, ad esempio una tabella, oppure solo parti di questo. Come opzione predefinita è attiva la funzione Tutto che attiva la stampa di tutto il contenuto dell’oggetto. Puoi, però, scegliere di stampare solo alcune pagine del documento, selezionando l’opzione Pagine e inserendo i valori desiderati nelle casella A: e DA:. 58 Modulo 5 – Database (Office XP) 5.6.2 – Opzioni di stampa Puoi anche fare una scelta molto precisa, chiedendo al sistema di stampare solo determinati record. In tal caso, prima di aprire la finestra Stampa, seleziona i record da stampare. In questo modo, si attiva l’opzione Record selezionato/i. Sotto l’area della finestra che abbiamo descritto, trovi il pulsante Imposta. Il contenuto della finestra collegata varia a seconda di quello che stai stampando. In generale, contiene opzioni aggiuntive per il controllo dell’aspetto della stampa. Terminata la fase delle impostazioni, fai clic sul pulsante Ok, per procedere alla stampa. Puoi attivare le funzioni di stampa anche senza avere una stampante a disposizione. Attivando l’opzione Stampa su file, nella finestra Stampa, il sistema utilizza le funzioni di stampa per generare un file, che contiene le informazioni necessarie per stampare. Questo documento viene salvato in formato .prn e può essere utilizzato per procedere alla stampa su carta, in un secondo momento. Tieni presente che non esistono comandi, in ambiente Windows, che ti permettano la gestione di questo tipo di file. L’unica maniera per gestirli è usare gli appositi comandi in ambiente DOS. La procedura è abbastanza complessa e rende il formato .prn uno strumento di difficile utilizzo. [ 5.6.2.2 ] Abbiamo detto che le funzioni principali di stampa sono indipendenti dall’oggetto utilizzato. Quando vuoi stampare partendo da una maschera, devi seguire le medesime procedure descritte precedentemente. È necessario, però, considerare alcuni aspetti. Per selezionare un record in una maschera, devi visualizzare il record voluto e scegliere Seleziona record, dal menu Modifica. Nella finestra di dialogo Imposta, trovi una serie di opzioni per impostare correttamente l’aspetto della stampa. 59 Modulo 5 – Database (Office XP) 5.6.2 – Opzioni di stampa Puoi scegliere di visualizzare tutta la maschera o solo i dati, di stampare in orizzontale o in verticale, di sistemare più record nella stessa pagina. [ 5.6.2.3 ] Abbiamo accennato come la fase di stampa possa risultare l’ultimo livello di estrazione dei dati. Immagina di avere una query nella quale i dati che ti interessano sono mescolati ad altri e, malgrado ciò, tu non riesci a trovare nessun elemento per impostare criteri più selettivi. In un caso del genere, puoi completare l’estrazione utilizzando la funzione Record selezionato/i. Indipendentemente da come viene visualizzato il risultato della query, seleziona i record desiderati e scegli Stampa, dal menu File. Nella finestra stampa, attiva la funzione Record selezionato/i. Regola le altre impostazioni e fai clic su Ok, per lanciare il processo fisico di stampa. [ 5.6.2.4 ] Il report nasce per essere stampato. La definizione della sua struttura è strettamente legata, come ti ho detto in precedenza, a questa finalità. Le funzioni di stampa previste per il report concordano con quanto visto finora per gli altri oggetti. È necessario sottolineare solo un’unica grande differenza legata alla struttura stessa del report. Non puoi selezionare record all’interno di un report, quindi non puoi attivare la funzione collegata a tale operazione. In realtà, però, puoi utilizzare anche la stampa di un report come filtro finale al tuo database. In questo caso userai l’opzione che ti permette di stampare intervalli di pagine. È chiaro che devi utilizzare la struttura del report, per controllare che i record da stampare siano collocati nella giusta posizione al suo interno. Se fai ciò, non puoi utilizzare le proprietà del processo di stampa. 60