AM5 ADVANCED MODULE 5 Database

Размер: px
Начинать показ со страницы:

Download "AM5 ADVANCED MODULE 5 Database"

Транскрипт

1 AM5 ADVANCED MODULE 5 Database Testo per la preparazione all esame ECDL AM5, Database Livello avanzato, basato sul Syllabus pubblicato sul sito ufficiale della ECDL Foundation Ltd. Pagina 1 di 82

2 INTRODUZIONE... 4 AM5.1 Progettazione delle Tabelle... 5 AM5.1.1 Campi, colonne AM Applicare, modificare i tipi di dati quali Testo, Memo, Collegamento ipertestuale, Valuta, Data e Ora in un campo o colonna... 9 AM Comprendere le conseguenze di una modifica dei tipi di dati quali i formati Testo, Memo, Collegamento ipertestuale, Valuta, Data e Ora in un campo o colonna AM Creare, modificare un controllo di selezione (lookup) in un campo o colonna AM Creare, modificare una regola di validazione in un campo o colonna AM Creare, modificare una maschera di input in un campo o colonna. 18 AM Applicare, modificare i valori predefiniti di un campo o colonna AM Impostare un campo o colonna ad inserimento obbligatorio AM5.1.2 Relazioni, Join AM Comprendere i fondamenti per la realizzazione di una relazione valida AM Comprendere e modificare una relazione molti a molti tra tabelle. 24 AM Applicare join di tipo interno, esterno sinistro ed esterno destro AM Applicare e utilizzare l integrità referenziale AM Applicare la cancellazione automatica dei record correlati AM Collegare, mettere in relazione i dati durante la definizione delle query AM5.2 Progettazione delle query AM5.2.1 Tipi di query AM Creare e utilizzare una query per aggiornare dati in una tabella AM Creare e utilizzare una query per eliminare record da una tabella. 33 AM Creare e utilizzare una query per salvare come tabella le informazioni estratte AM Aggiungere record ad una tabella utilizzando una query AM5.2.2 Formule nelle query AM Raggruppare le informazioni in una query AM Utilizzare in una query le funzioni: somma, conteggio, media, massimo e minimo AM Utilizzare una query a campi incrociati AM Utilizzare i caratteri jolly in una query AM Utilizzare espressioni aritmetiche e logiche in una query AM5.2.3 Raffinamento di una query AM Presentare duplicati AM Presentare valori senza corrispondenze AM Presentare l insieme di valori più alti o più bassi in una query AM Consentire la definizione dei dati da ricercare attraverso un campo dati (query parametrica) AM Raffinare query utilizzando Null o Not AM5.3 Progettazione di una maschera o form AM5.3.1 Controlli AM Creare controlli associati e non associati AM Creare, modificare una casella combinata, una casella di riepilogo, una casella di controllo, gruppi di opzioni AM Creare controlli per espressioni aritmetiche o logiche in una maschera AM Impostare l ordine logico dei controlli in una maschera Pagina 2 di 82

3 AM Inserire dei campi dati all interno dell intestazione, del piè di pagina o di tutte le pagine di una maschera AM5.3.2 Sottomaschere AM Creare una sottomaschera e collegarla ad una maschera principale AM Modificare le sottomaschere per cambiare i record visualizzati AM5.4 Progettazione di un report AM5.4.1 Calcoli AM Creare controlli di espressioni aritmetiche o logiche in un report.. 71 AM Effettuare calcoli di percentuale in un controllo di calcolo di un report AM Utilizzare formule ed espressioni in un report: somma, conteggio, media, massimo, minimo, concatenazione AM Creare dei riassunti dinamici in un report AM5.4.2.Presentazione AM Inserire un campo dati all interno dell intestazione, del piè di pagina della prima pagina o di tutte le pagine di un report AM Forzare interruzioni di pagina su gruppi all interno di un report M5.5 Macro AM5.5.1 Registrazione e associazione AM Registrare una semplice macro (ad esempio, chiudere una maschera) AM Eseguire una macro AM Associare/collegare una macro ad una maschera, ad un report o ad un controllo AM5.6 Importazione, esportazione, collegamento dati AM5.6.1 Gestione dati AM Importare file di testo, fogli elettronici, file csv, dbase, Paradox in un database AM Esportare dati in formato foglio elettronico, file txt, dbase, Paradox AM Collegare dati esterni ad un database Pagina 3 di 82

4 INTRODUZIONE Il Contenuto di questo libro rispecchia le direttive per la preparazione all esame ECDL AM5, Database Livello avanzato, emanate dalla ECDL Foundation Ltd. Tali direttive sono contenute nel Syllabus diffuso sul sito dell ente e possono essere ricercate on line agli indirizzi indicati. Come applicazione è stata scelta MICROSOFT ACCESS Su tale applicazione sono basate le esercitazioni, i quesiti e i test di autoverifica. L autore declina ogni responsabilità per eventuali inesattezze contenute nel testo e non risponde di eventuali danni subiti o prodotti per il suo uso. Pagina 4 di 82

5 AM5.1 Progettazione delle Tabelle Qualche nozione di base Gli elementi fondamentali di un database dovrebbero essere noti a chi affronta questo livello avanzato; ma è utile ricordarli in questa sede, in modo da facilitare lo studio di questo modulo, che si pone ad un livello concettuale più profondo e più difficile, rispetto alle semplici operazioni richieste nel livello di base. Gli elementi costitutivi di un database sono i seguenti: I campi: un campo, detto anche colonna, è uno spazio nel database che contiene un'unità di informazione, come un nome, un numero di telefono, una data. Quando si crea un database è necessario includere un campo per ogni categoria di dati a cui si è interessati. Per esempio campo cognome; in esso nella colonna verranno inseriti tutti i cognomi. I record: un record, o riga, è costituito da un insieme di campi riferiti a un singolo soggetto. In un database che raccoglie i dati dei clienti, per esempio, tutte le informazioni relative a uno stesso cliente sono registrate in un record. Per esempio cognome, nome, indirizzo, città etc. dello stesso individuo sono tutti i campi che costituiscono un record. La base dei dati è una tabella in cui ogni colonna è un campo e ogni riga è un record. Le tabelle: come detto nell'esempio, una tabella è un elenco che visualizza più record contemporaneamente. Più precisamente, ogni riga di una tabella di un database è un record, ogni colonna è un campo. I file: un file di database contiene una o più tabelle. Access salva tutte le tabelle in un unico file di database con l'estensione MDB (Microsoft Data-Base). Il database può essere pensato come una serie di tabelle, ognuna delle quali contiene informazioni omogenee. Access 2000, in particolare, è un database relazionale: questo significa che i dati non sono memorizzati in un'unica grande tabella, ma in più tabelle tutte in relazione tra loro, tanto che le informazioni di diverse tabelle possono essere riunite in tabelle query ed è possibile eseguire ricerche in più tabelle contemporaneamente. Il data base relazionale si rende necessario quando i dati sono molti e interdipendenti e metterli tutti insieme potrebbe essere difficile oltre che dispendioso come memoria in quanto molti dati verrebbero ripetuti inutilmente molte volte. Per esempio se bisogna archiviare articoli, fornitori con tutti i dati relativi, mettendo tutto in una tabella si ripeterebbe per lo stesso fornitore nome, cognome etc., se invece si costruisce una tabella articoli e una fornitori e nella tabella mettiamo un solo riferimento al fornitore (per esempio il numero di identificazione), i dati li mettiamo una volta sola risparmiando molta memoria, non solo, ma potremo facilmente saper quali fornitori forniscono lo stesso articolo e quali articoli sono forniti dallo stesso fornitore. Un database relazionale è un database in grado di gestire più tabelle correlate ed estrarre informazioni da più tabelle contemporaneamente. La correlazione si fa mettendo nei record di una tabella un riferimento (un codice) ai record dell'altra. In questo modo in ogni momento si possono sapere tutti i record della prima tabella che hanno il riferimento ad un record della seconda, cioè i record della prima collegati a un record della seconda. All'interno del database si possono costruire diverse tabelle che raggruppano record dello stesso tipo; in un archivio per la gestione semplice di un magazzino, Pagina 5 di 82

6 per esempio, tutti i record relativi ai dati anagrafici dei fornitori possono essere raggruppati in una tabella Fornitori, in una tabella Articoli si possono mettere tutti gli articoli, mentre in una tabella Carico e Scarico si possono mettere le operazioni quotidiane di carico e scarico degli articoli. Questa tabella è relazionata alle altre due, in modo che per ogni operazione si conosce l'articolo e il fornitore di esso. Anche l'articolo è relazionato al fornitore in modo che a ciascuno di essi corrisponda uno o più fornitori. Attraverso un sistema di relazioni tra i dati, inoltre, è possibile combinare informazioni provenienti da ambienti diversi, ordinando l'archivio in modo flessibile e rispondente a diverse esigenze di ricerca. I campi comuni alle diverse tabelle sono definiti campi chiave. I campi chiave possono essere definiti elementi di intersezione tra i diversi insiemi di dati; essi consentono all'utente di creare sottoinsiemi sempre diversi, rispondenti alle proprie esigenze di ricerca e assemblaggio dei dati. Gli oggetti fondamentali del database sono le tabelle. Nella progettazione del database è essenziale progettare opportunamente le tabelle e loro relazioni, affinché il database funzioni correttamente. Questo è il lavoro più difficile. Dalle tabelle derivano altri elementi importanti del database, che permettono di ottenere da esso il massimo rendimento per la immissione, ricerca e stampa dei dati. Gli altri oggetti sono: Le maschere: La modalità di visualizzazione tabella risulta spesso poco leggibile e difficile da gestire. Per facilitare l'aggiornamento, la modifica o il calcolo sui dati è possibile creare delle maschere. Le maschere di Access sono simili ai comuni moduli che si devono compilare per richiedere un documento: ad ogni campo corrisponde un'etichetta ed è previsto uno spazio utilizzabile per l'inserimento delle informazioni. La peculiarità di questo oggetto, tuttavia, consiste nel fatto che i campi di una maschera possono essere prelevati da più tabelle diverse. Nel database sulla gestione magazzino, per esempio, attraverso una maschera si può creare un record contenente le informazioni relative ad un'operazione di carico e scarico prelevando i codici degli articoli e dei fornitori direttamente dall'elenco articoli e fornitori. Tutto ciò sarà più chiaro quando costruiremo il database partendo da un progetto. Le maschere, inoltre, permettono di visualizzare le informazioni secondo diverse modalità grafiche e di aggiungere immagini, note o commenti ai campi. In una maschera degli articoli, per esempio, è possibile inserire le foto di essi. Le query. Le query sono il mezzo con cui è possibile interrogare un database. Quando si definisce una query si chiedono al database informazioni di qualche natura. Con le query è possibile recuperare i dati dalle tabelle e organizzarli in modo diverso. Se il data base rappresenta il magazzino, per esempio, si potrebbe interrogarlo per sapere quante operazioni di carico sono state fatte il giorno tot oppure l'elenco degli articoli forniti dallo stesso fornitore. La query, quindi, permette di utilizzare i dati delle tabelle in modo dinamico, mettendo in relazione le informazioni, filtrando i dati che interessano, effettuando ricerche incrociate sui record che rispondono a determinate caratteristiche, raggruppando i dati, effettuando calcoli su di essi, se sono possibili. I report. I report permettono di organizzare e riepilogare le informazioni contenute in un database, riordinando i dati provenienti da una tabella o da una query. In genere i report sono destinati alla stampa: a questo scopo Access offre vari layout preformattati che possono aiutare a impaginare i dati, dando loro una veste grafica gradevole ed efficace. Pagina 6 di 82

7 Moduli e macro. Access fornisce anche degli strumenti avanzati che permettono di automatizzare alcune funzioni di ricerca e calcolo sui dati. Le macro, per esempio, permettono di creare e memorizzare procedure automatiche per l'utilizzo del programma: in questo modo è possibile semplificare le operazioni che si compiono più di frequente. Le macro costituiscono un mezzo semplice, guidato da Access, per costruire moduli che svolgono determinate azioni, senza conoscere il linguaggio di programmazione Visual Basic for Application. I moduli sono routines scritte in Visual Basic for Application, che possono gestire qualunque aspetto dell applicazione e del database. Tutti gli oggetti del database li troviamo nella finestra del database e ad essi si può accedere cliccando sui relativi pulsanti. AM5.1.1 Campi, colonne. Nella creazione di un database, la parte più importante e più difficile è senza dubbio la sua progettazione, cioè stabilire quali devono essere le tabelle e quali le loro relazioni. In genere chi si accosta per la prima volta a un database è portato a sottovalutare questo punto, un po per l'inesperienza, un po perchè si ha fretta di vedere che cosa succede. Il più delle volte ciò porta ad eliminare tutto quello che si è fatto e ricominciare dall'inizio. Anche se Access fornisce creazioni guidate di un database, è raro che possano soddisfare completamente le esigenze personali, per cui è bene che si sappia esattamente come progettare e realizzare il database. Non esamineremo, perciò, le possibilità che offre Access per creare un database con la creazione guidata, ma creeremo un database personale, semplice, per facilitarne la comprensione, sufficientemente completo per poter esaminare tabelle, maschere, query, report e macro. Supponiamo di voler creare un semplice database per gestire un magazzino per il solo carico e scarico degli articoli. Il database deve contenere l'elenco degli articoli immagazzinati con i dettagli di nome, prezzo, fornitore etc., l'elenco dei fornitori con i dettagli di nome, indirizzo, città etc., infine la tabella più importante sarà Pagina 7 di 82

8 quella che contiene le operazioni quotidiane di carico o scarico di una serie di articoli con la data e tutti i riferimenti necessari. Qui comincia il lavoro di progettazione del database: quante e quali tabelle creare? quali campi devono contenere? quali devono essere le relazioni fra loro in modo da rendere automatica la gestione? Ricordiamo che la relazione fra le tabelle è fondamentale e che le tabelle devono contenere i campi che le mettono in relazione. A complicare la scelta delle tabelle vi è il fatto che una operazione di carico o di scarico che si vuol registrare può contenere un numero variabile di articoli diversi. Una soluzione accettabile appare quella di creare una tabella dei nomi delle operazioni (la chiameremo Operazioni), una tabella che contiene l'elenco degli articoli relativi che devono essere caricati o scaricati (la chiameremo Articoli dell Operazione), una tabella generale degli articoli (la chiameremo Articoli) e una tabella generale dei fornitori (la chiameremo Fornitori). Ciò non toglie che ognuno potrebbe trovare soluzioni diverse, più efficaci dal punto di vista della gestibilità. Nelle tabelle metteremo i campi essenziali e quelli indispensabili per le relazioni, cioè i campi che collegano l'elenco Articoli dell Operazione alla operazione relativa e i campi che collegano gli articoli alle tabelle Articoli e Fornitori. Il progetto si concretizza in questo modo: Tabella Nomi dei Campi Descrizione enti Collegam ID Op Chiave primaria di tipo contatore Collegato a ID Op della tabella Articoli dell'operazione. Operazioni Data Data dell'operazione Carico Campo logico Scarico Campo logico Presso Testo ID Chiave primaria di tipo Contatore Articoli dell'operazione ID Articolo ID Op Campo di tipo Numero Corrispondente al codice della tabella Operazioni Campo di tipo Numero corrispondente al codice dell articolo Collegato alla tabella Operazioni con relazione molti a uno Collegato alla tabella Articoli con relazione uno a uno Quantità Campo di tipo Numero Intero lungo Articoli ID Articolo Chiave primaria di tipo Contatore Collegato alla tabella delle operazioni Pagina 8 di 82

9 Fornitori ID Fornitore ID Fornitore Nome Prezzo Nome Indirizzo Città Telefono Testo Campo di tipo Campo di tipo Numero collegato al Codice fornitore Campo di tipo Numero Chiave primaria di tipo Contatore Testo Testo Testo Testo Collegato alla tabella fornitori Collegato a ID fornitore della tabella Articoli A questo punto abbiamo pianificato il nostro database, Naturalmente molti altri campi potrebbero essere aggiunti alle tabelle per automatizzare alcune operazioni, come inventario, esistenza articoli, somme totali e parziali delle operazioni etc. Ma non vogliamo appesantire la comprensione dei principi di base. Nei paragrafi seguenti creeremo le tabelle, le maschere etc. AM Applicare, modificare i tipi di dati quali Testo, Memo, Collegamento ipertestuale, Valuta, Data e Ora in un campo o colonna. Possiamo cominciare ora a creare il database. Prima di tutto apriamo l applicazione da START / Programmi / Microsoft Access o cliccando sull icona relativa della barra di Office ( ). Scegliamo Database di Access vuoto nella schermata che appare all apertura. Alla richiesta del nome diamo il nome Magazzino e salviamo in una cartella opportuna. Il database sarà salvato col nome Magazzino.mdb. Viene creato in questo modo il database vuoto, nel quale creeremo le tabelle, le query, le maschere e i report e le macro. Si apre la finestra del database Magazzino, vista nell introduzione, nella quale sono presenti tutti gli oggetti che verranno creati. L uso di questa finestra dovrebbe essere noto; ricordiamo brevemente che nella barra dei menu della finestra vi sono i pulsanti per aprire un oggetto in visualizzazione dati (Apri), per l inserimento o la modifica dei dati, aprire un oggetto in visualizzazione struttura (Struttura)per effettuale le modifiche necessarie alla struttura dell oggetto, il pulsante Nuovo per creare un nuovo oggetto. Sono presenti poi i pulsanti per la eliminazione di oggetti creati e per la visualizzazione dell elenco degli oggetti in modi diversi (icone grandi, icone piccole, dettagli). Sulla sinistra troviamo i pulsanti per accedere a tutti gli oggetti che possono essere creati (tabelle maschere, query etc.); cliccando su di essi compare nel riquadro l elenco degli oggetti presenti e le varie modalità di creazione dell oggetto (manuale o guidata). Passiamo ora direttamente alla creazione delle tabelle previste dal nostro piano. Clicchiamo sul pulsante Tabelle e poi su Crea una tabella in visualizzazione struttura. Si apre la finestra della struttura della tabella. Pagina 9 di 82

10 Cominciamo col creare la tabella Fornitori tenendo presente lo schema presentato in precedenza. Nella colonna Nome Campo inseriamo il nome del campo (ID Fornitore, Nome, Indirizzo, Città, Telefono). Clicchiamo nella casella Tipo di dati relativa a ciascun nome e scegliamo dall elenco che si apre il tipo di dato adeguato. Non deve sfuggire l importanza della scelta del tipo di dati, perché è essenziale che esso corrisponda al tipo adatto, in modo da poterne sfruttare in seguito le caratteristiche numeriche o di testo o di data. Nel paragrafo successivo esamineremo uno per uno i tipi di dati, spiegandone le caratteristiche. Per il campo ID Fornitore scegliamo il tipo di dato Contatore, che si presta ad una numerazione univoca e automatica dei record. Scelto il tipo di dato si apre in basso l elenco delle proprietà di tale dato, proprietà che possono essere impostate dall utente. Le proprietà sono contenute in due schede, Generale e Ricerca, nella prima vi sono le proprietà generali, lunghezza, formato etc., nella seconda può esserci il modo per reperire il dato. Vedremo in seguito come utilizzare questa scheda, parlando delle relazioni fra tabelle. Per i campi Nome, Indirizzo, Città e Telefono utilizziamo il tipo di dato Testo, scegliendo nella proprietà Lunghezza una lunghezza adeguata; risparmiando sulla Pagina 10 di 82

11 lunghezza si risparmia memoria ma si rischia che un dato possa essere troncato se più lungo. Creiamo allo stesso modo le altre tabelle. Teniamo presenti i seguenti fattori: le relazioni fra le tabelle, di cui parleremo in seguito, devono avvenire fra campi dello stesso tipo (il tipo Contatore e Numerico sono dello stesso tipo numerico la chiave primaria di una tabella, necessaria, non deve essere necessariamente applicata a un campo numerico; il campo può essere anche testuale, ma in questo caso il dato non potrà essere inserito automaticamente da Access; dovrà essere inserito dall utente e Access avviserà se è univoco o meno le relazioni fra le tabelle che creeremo in seguito, saranno fra la chiave primaria di una tabella e il campo numerico dello stesso nome di un altra. Una volta create le tabelle si possono inserire i dati. Ma è chiaro che si può modificare la struttura di una tabella, ovvero i tipi di campo, eliminando, aggiungendo o modificando campi, in ogni momento, semplicemente riaprendo la tabella in visualizzazione struttura. Occorre tenere presente che modificando la struttura di una tabella: verranno perduti i dati dei campi eliminati (un campo si elimina selezionandolo e premendo il tasto CANC oppure cliccando col pulsante destro del mouse e scegliendo Elimina righe dal menu di scelta rapida che si apre) possono essere aggiunti tutti i campi che si vuole, ma, naturalmente i record presenti saranno privi di dati in questo campo cambiando il tipo di dato in un campo, i dati di questo campo saranno conservati soltanto se essi sono compatibili col nuovo tipo. Ad esempio passando da tipo Testo a tipo Numero il dato verrà perso se il testo contenuto è alfabetico, ma verrà trasformato se il testo contiene solo cifre; passando, invece, da tipo Numero a tipo Testo i dati vengono conservati e trasformati in testo: In Altri termini Access trasforma i dati se è possibile interpretarli nel nuovo tipo Come detto precedentemente, la chiave primaria è obbligatoria. Essa può essere imposta su qualunque campo secondo quanto spiegato prima. Nel nostro caso la chiave primaria è il campo di tipo Contatore; per impostarla selezioniamo il campo e clicchiamo poi sul pulsante Chiave primaria ( ) della barra degli strumenti standard. Appare sulla sinistra una chiave ad indicare che il campo è stato configurato correttamente. Per togliere una chiave primaria basta ricliccare sul pulsante. Completata la creazione delle tabelle passiamo, nel paragrafo successivo, alla descrizione dei tipi di dati che possiamo impostare. AM Comprendere le conseguenze di una modifica dei tipi di dati quali i formati Testo, Memo, Collegamento ipertestuale, Valuta, Data e Ora in un campo o colonna. E di fondamentale importanza impostare correttamente il tipo di dati per un campo, in quanto da esso dipendono le operazioni di automatizzazione e ricerca che potremo effettuare sui campi mediante algoritmi o calcoli. I primi due tipi di dati dell elenco a discesa che si apre cliccando nel campo Tipo di Dati nella finestra Struttura, sono Testo e Memo. La differenza fra i due campi è fondamentale, in quanto il tipo Testo permette di inserire fino a un massimo di 256 caratteri. Fissandone la dimensione nella casella Dimensione Campo della scheda Pagina 11 di 82

12 Generale, Access riserva al dato solo la memoria strettamente necessaria con economia sulla grandezza del file. Il tipo Memo permette, invece, di inserire testi lunghi fino a caratteri, non formattati. Per memorizzare testi più lunghi e formattati occorre usare un campo OLE, che descriveremo in seguito. Il tipo di dati Numerico è il formato che permette di inserire numeri, sui quali è possibile eseguire qualsivoglia calcolo. Importante è fissare la precisione con cui deve essere espresso il numero. Essa dipende, naturalmente, dal valore che può assumere il dato; per esempio se il numero deve esprimere un anno il suo valore massimo sarà di quattro cifre, se il dato deve esprimere la grandezza di un protone in centimetri, allora le cifre decimali devono essere molte. Naturalmente la memoria riservata a due dati sarà diversa: in un byte si può memorizzare un numero fino a 256, in due fino a Le precisioni numeriche possibili sono esposte nella tabella; in essa compare anche il numero di byte necessari a memorizzare il numero: Impostazione Descrizione Precisione decimale Capacità di memoria Byte Memorizza numeri compresi tra zero e 255. Non memorizza frazioni. Nessuna 1 byte Decimale Memorizza numeri compresi tra -10^38-1 e 10^38-1 (adp) Memorizza numeri compresi tra -10^28-1 e 10^28-1 (mdb) byte Intero Memorizza numeri compresi tra e Non memorizza frazioni. Nessuna 2 byte Intero lungo Impostazione predefinita. Memorizza numeri compresi tra e Non memorizza frazioni. Nessuna 4 byte Precisione singola Precisione doppia Memorizza numeri compresi tra E38 e E 45 per valori negativi e da E 45 a E38 per valori positivi. Memorizza numeri compresi tra E308 e E 324 per valori negativi e da 7 4 byte 15 8 byte Pagina 12 di 82

13 E308 a E 324 per valori positivi. ID replica GUID N/D 16 byte Acronimo di Globally Unique Identifier. Un campo a 16 byte utilizzato in un database di Microsoft Access per stabilire un identificatore univoco di replica. I GUID vengono utilizzati in particolar modo per identificare le repliche, i set di repliche, le tabelle, i record e altri oggetti. Nota In un database di Access i GUID sono chiamati ID replica. Come si vede la precisione massima si ottiene col formato Decimale (a parte ID Replica che è un formato particolare). E evidente che modificando la dimensione campo numerico i dati contenuti possono subire variazioni di memorizzazione e perdere in precisione. Se i campi numerici di due tabelle sono in relazione fra di loro, la dimensione del campo deve essere corrispondente. Se si tenta di modificarne la dimensione Access non lo permette finchè non viene eliminata la relazione. Il tipo di dati Data/Ora è usato per memorizzare le date e l orario. Nella casella Formato della scheda Generale possiamo impostare il formato con cui apparirà la data inserita. Sono presenti alcuni formati preimpostati, ma si può inserire anche un formato personalizzato. Per i dettagli sul formato di Data/Ora si può consultare la Guida in linea di Access alla voce Proprietà Formato Tipo di dati Data e Ora. Il Tipo di dati Valuta è un campo numerico espresso come valuta. Cliccando nella Casella Formato della scheda Generale si può scegliere fra uno dei formati presenti. Il tipo Valuta viene trattato come un numero essendo tale a tutti gli effetti. Occorre però tener presente che la precisione della valuta può essere inferiore a quella di un numero Decimale. Se si modifica un campo da Numerico a Valuta o viceversa Access informa se vi è possibile perdita di informazioni. Al tipo di dati Contatore abbiamo già accennato. Esso viene utilizzato per campi da impostare come chiave primaria in quanto consente di automatizzare l indice di una tabella. E un campo numerico di precisione intero lungo o ID Replica. Tale precisione deve essere impostata su eventuali campi numerici di altre tabelle con esso in relazione. La dimensione ID Replica viene impostata se si ha intenzione di replicare il database, cioè di creare copie del database sincronizzate col primo, in modo che le modifiche possono essere scambiate dall uno all altro. Il tipo di dati Si/No occupa un solo bit e viene utilizzato per indicare appunto due soli valori logici (Vero/Falso). Il tipo di dati Oggetto OLE (Linked or Embedded Object, cioè Oggetto Collegato o Incorporato) viene utilizzato per memorizzare qualunque oggetto prodotto da una applicazione; esso può essere una immagine, un documento word, un foglio Excel, un file sonoro, insomma qualunque file. L oggetto OLE può essere creato Pagina 13 di 82

14 direttamente mediante il programma opportuno o inserito come file esistente. Infatti, quando si inseriscono i dati cliccando col destro del mouse nel campo Oggetto OLE, si apre una finestra nella quale è possibile scegliere. Se si sceglie Crea da File compare un pulsante Sfoglia per cercare il file e la casella Collegamento, che permette di collegare il file, se è spuntata, oppure incorporarlo, se la casella non è spuntata. Il file collegato diminuisce le dimensioni del database, ma occorre trasportare i file collegati, il file incorporato aumenta le dimensioni del database ma libera dalla preoccupazione di perdere i dati. Il tipo di dati Collegamento Ipertestuale permette di inserire collegamenti a qualunque documento o pagina web residente sul computer locale o computer remoto. L ultimo tipo di dati che può essere selezionato dall elenco è il tipo Ricerca guidata. Il campo di questo tipo è in realtà uno qualunque di quelli visti in precedenza e può essere applicato su un nuovo campo o su un campo esistente. Si tratta di una creazione guidata che, attraverso alcune finestre, permette di creare una tabella di dati o sceglierne una esistente, dalla quale selezionare il dato che Pagina 14 di 82

15 verrà inserito nel campo senza digitarlo. In altri termini, cliccando nel campo, che diventa una casella combinata, si apre l elenco indicato nella creazione guidata e da esso si seleziona il dato da inserire. Facciamo un esempio, supponiamo che in un campo si debba inserire un valore di testo fra dieci possibili. Potremmo scegliere il tipo di dati Testo e in fase di immissione dati scrivere ogni volta il dato (con la possibilità, per altro, di commettere errori). In alternativa conviene scegliere il tipo di dati Ricerca guidata. Esso permetterà, attraverso una creazione guidata, di creare una volta soltanto l elenco dei dieci dati possibili, la casella di testo diventerà casella combinata, il tipo di dati finale sarà Testo e in fase di immissione potremo scegliere con un click del mouse dall elenco che si apre. La tabella di riferimento può essere anche a più colonne e già esistente. Chiarite le caratteristiche dei vari tipi di dati, risulta evidente che se modifichiamo il tipo di dati di un campo di una tabella esistente, in cui sono presenti già dei dati, occorre fare attenzione alle proprietà del nuovo tipo per evitare perdita di informazioni. Così, è evidente che per un campo Numerico possiamo solo aumentare la precisione per conservare un dato precedente, per un campo Testo aumentare le dimensioni del campo o trasformarlo in campo Memo. Un campo Numerico può essere trasformato in campo Testo, ma non possiamo trasformare un campo Testo in campo numerico a meno che i campi non contengano solo cifre che possono essere interpretate come numeri. Un campo Collegamento ipertestuale può essere modificato in campo Testo, ma vengono perdute tutte le informazioni relative al collegamento. Un campo Valuta può essere trasformato in campo Numerico, ma un campo Numerico ad alta precisione non può essere trasformato in campo Valuta pena la perdita di precisione del dato. In ogni caso, ogni qual volta si tenta di modificare un tipo di dati, Access informa se vi è possibile perdita di informazioni; a quel punto si può procedere o rinunciare all operazione. AM Creare, modificare un controllo di selezione (lookup) in un campo o colonna. Nel definire la struttura delle nostre tabelle abbiamo visto che nella scheda Generale presente nella parte inferiore della finestra possiamo impostare diverse proprietà relative al tipo di dati scelto per quel campo. Nella scheda Ricerca possiamo impostare le modalità con cui il dato da inserire deve essere cercato. Per impostazione predefinita Access, per l immissione del dato nella tabella, associa una Casella di testo che corrisponde alla cella in cui viene digitato il dato, ma se i dati da inserire esistono già in un altra tabella, abbiamo visto che con il tipo di dati Ricerca guidata possiamo associarli alla casella di testo che diviene Casella combinata. La stessa operazione possiamo farla eseguendo le scelte opportune nella scheda Ricerca. Pagina 15 di 82

16 Per capire l importanza di questa scelta riferiamoci al database che stiamo creando. Nel momento in cui dovremo inserire i dati degli articoli, dovremo inserire anche il dato ID Fornitore, cioè il codice corrispondente al fornitore. Se usassimo il controllo Casella di testo (come da impostazione predefinita) dovremmo ricordare tutti i codici dei fornitori o avere sott occhio un elenco. Se, al contrario, usiamo un controllo Casella combinata, collegata alla tabella fornitori, comparirà direttamente l elenco dei codici dei fornitori con relativo nome e altri dati, da cui scegliere con un click il codice che ci interessa. Riferendoci al nostro esempio, apriamo la tabella Articoli in visione struttura, selezioniamo il campo ID Fornitore e la scheda Ricerca. Descriviamo le varie voci riferendoci alla figura precedente. Nella casella Visualizza controllo possiamo scegliere fra Casella di Testo, Casella di riepilogo e Casella combinata. La Casella di riepilogo permette di scegliere soltanto dall elenco, la Casella combinata è insieme una Casella di testo e una Casella di riepilogo per cui si può scegliere dall elenco o digitare un dato non in elenco. Se il dato deve essere uno di quelli in elenco scegliamo Casella di riepilogo. Nel nostro caso un articolo deve appartenere a un fornitore, per cui il dato deve già esistere nella tabella Fornitori; potremmo scegliere Casella di riepilogo. Ma anche Casella combinata permette di definire nella proprietà Solo in Elenco se la scelta deve essere obbligata. Scelto il tipo di controllo, dobbiamo collegarlo alla tabella dei dati esistente e questo possiamo farlo nella casella Tipo di origine riga. L origine delle righe del controllo scelto può essere: 1. Tabella o query 2. Elenco di valori 3. Elenco di campi La prima scelta si riferisce ad una tabella o query esistente. Nel nostro caso scegliamo la tabella Fornitori, perché ad essa è riferito il dato ID Fornitore. La seconda scelta permette di usare un elenco di valori che possono essere digitati direttamente dall utente nella casella Origine riga, separandoli con punto e virgola (;). La terza scelta permette di usare in elenco i nomi dei campi della Tabella o Query scelta nella casella Origine riga. Le altre proprietà della scheda Ricerca permettono di impostare quale colonna della tabella scelta come origine è associata al campo (per evitare errori, la colonna deve contenere valori dello stesso tipo di quelli del campo) e quante colonne della tabella devono comparire nell elenco. Le altre proprietà sono evidenti di per sé e non occorrono altre spiegazioni. AM Creare, modificare una regola di validazione in un campo o colonna. Una importante proprietà di un campo e Valido se.. della scheda Generale, la quale permette di impostare un criterio di validazione. Ricordiamo che un database di Access può essere impostato in modo che parta direttamente con una interfaccia utente tale che la sua struttura risulti trasparente all utente finale, al quale non importa più di tanto sapere come è fatto, ma deve solo gestirlo per immettere e ricercare i dati. Proprio per questo motivo è bene rilevare eventuali errori nell immissione del dato, ovvero costringere l utente ad immettere valori di un certo tipo. Per esempio i valori in euro devono essere contenuti fra 1 e 1000, oppure la lunghezza di un testo non può essere inferiore a 10 caratteri o altro ancora. Il criterio di validazione deve essere inserito nella casella Valido se L espressione di convalida dei dati può essere digitata direttamente nella casella o essere Pagina 16 di 82

17 generata dal Generatore di espressioni, la cui finestra compare cliccando sul pulsante alla sua destra. Ricordiamo brevemente come indicare correttamente le variabili per definire il criterio. Possono essere usati tutti gli operatori matematici e logici; per esempio + - * / ^ Like And Or Not > < <> = etc. Possono essere usate tutte le funzioni disponibili. Esse possono essere reperite nel Generatore di espressioni. Facciamo qualche esempio semplice. Supponiamo che il prezzo di un articolo non debba superare le cinque cifre e non possa essere zero. Il criterio di validazione dal punto di vista logico sarà: il prezzo deve essere maggiore di zero e minore di Tradotto in espressione sarà >0 And <100000, scritto senza le virgolette e senza il nome del campo in quanto il criterio riguarda il campo Prezzo della tabella Articoli e non vi è quindi possibilità di equivoco. Se il campo è di tipo Testo o Memo si può usare l operatore Like. Ad esempio se vogliamo che il nome inserito non sia inferiore a cinque lettere, come regola di convalida possiamo inserire Like?????* ; ricordiamo che il carattere jolly? vuol dire che al suo posto deve esserci un carattere, l asterisco * vuol dire che al suo posto può esserci qualsiasi stringa. Il criterio Like A???*e vuol dire che il testo inserito nel campo deve cominciare con A deve contenere minimo quattro lettere e terminare con e. Se vogliamo imporre regole di convalida più ampie o più restrittive sui diversi campi possiamo farlo applicandole al record. In questo caso possiamo utilizzare i nomi dei campi come variabili e impostare qualunque criterio si voglia. Per far ciò, attivare la scheda Proprietà Tabella cliccando su Visualizza / Proprietà in visualizzazione struttura della tabella. Pagina 17 di 82

18 Nel casella Valido se.., come si vede in figura, è impostata una regola per cui viene emesso un messaggio d errore se la lunghezza del campo Nome è minore di 5 lettere. Nella casella Messaggio d errore possiamo inserire un messaggio che apparirà in caso di errore di immissione del dato. Il messaggio di errore può essere inserito solo nella finestra Proprietà tabella. Si può usare naturalmente il generatore di espressioni per compilare regole complesse, ad esempio Len([Nome]>5 and [Prezzo]>=1 and [Prezzo]<=10000, che tradotto in forma logica significa che il nome non deve essere inferiore a 6 lettere e il prezzo deve essere compreso fra 1 e Euro. AM Creare, modificare una maschera di input in un campo o colonna. Insieme alle regole di convalida dei dati si può impostare anche una Maschera di Input, ovvero una forma obbligata di inserimento dei dati. Per esempio, se il campo è la sigla di una provincia si può costringere l utente ad immettere un testo di due lettere maiuscole, oppure se il campo è un codice fiscale il testo da immettere sarà secondo il formato codice fiscale. Access prevede delle maschere preimpostate, ma se ne possono impostare a piacere. In visualizzazione struttura clicchiamo nella casella Maschera di Input nella scheda Generale delle proprietà relative al campo. Sulla destra compare il pulsante con tre puntini. Cliccando su di esso si apre la finestra della Creazione guidata Maschere di Input. Pagina 18 di 82

19 A sinistra compare il nome della maschera e a destra l aspetto dei dati. Nella casella Prova si può provare ad inserire il dato per avere conferma del risultato voluto. I pulsanti Modifica elenco, Avanti e Fine permettono di impostare altre maschere di input. In particolare cliccando sul pulsante Modifica elenco si apre la finestra con l elenco di tutte le maschere preimpostate. Attraverso i pulsanti ci si può muovere avanti e indietro. I campi si modificano direttamente nelle caselle relative. Cliccando sul pulsante con l asterisco si può inserire una maschera nuova. Cliccando sul pulsante Avanti si può modificare in parte la maschera selezionata. Cliccando infine sul pulsante Fine viene impostata la maschera di input. Pagina 19 di 82

20 AM Applicare, modificare i valori predefiniti di un campo o colonna. Nella scheda Generale possono essere impostati anche i Valori predefiniti per un campo, ovvero ciò che deve comparire per impostazione predefinita nel campo quando si crea un nuovo record. Per esempio se si presuppone che in un campo data si debba inserire con molta probabilità la data odierna si può immettere Date(), che è una funzione che fa comparire in quel campo, al momento dell immissione dati, la data corrente di sistema. Per impostare i valori predefiniti per i campi di una tabella, occorre aprirla in visualizzazione struttura e posizionarsi nel campo. Nella scheda Generale cliccare nella casella Valore predefinito. Si può digitare direttamente il valore predefinito come testo fra virgolette o senza (le virgolette sono necessarie se il testo contiene punti) o il valore numerico o data e ora secondo i formati noti. In alternativa si può cliccare sul pulsante coi puntini che compare a destra. In questo caso si apre il generatore di espressioni mediante il quale si può creare una espressione che abbia senso e che produca un valore predefinito. Per un campo data e ora possiamo usare le funzioni Date() e Now() che inseriscono la data di sistema o la data e l ora di sistema. Hanno senso anche le espressioni numeriche che contengano operatori e funzioni che lavorino su numeri. AM Impostare un campo o colonna ad inserimento obbligatorio. Nella scheda Generale di una tabella in visualizzazione struttura possiamo impostare anche il campo Richiesto, il quale, se posto a Si, obbliga l utente a inserire il valore in fase di immissione dei dati. Possiamo, per esempio, rendere obbligatorio l inserimento di un codice fiscale o partita IVA per un fornitore o la data per una operazione di carico e scarico. E evidente che possiamo rendere obbligatorio l inserimento di tutti i campi di un record, ma ciò comporta dei rischi operativi. Infatti se al momento dell immissione del record non disponiamo del dato, Access non ci permette di inserire il record, ovvero non ci permette di andare avanti a meno che non si rinunci ad inserire tutto il record. Per questo motivo è preferibile render obbligatori solo i campi necessari. Legato al campo Richiesto è il campo Consenti Lunghezza Zero, il quale comunica ad Access di accettare anche stringhe di lunghezza zero. Questa proprietà può essere impostata solo per i campi Testo, Memo e Collegamento ipertestuale. Per capirne il significato diciamo che Access accetta per un campo vuoto due tipi di valori: il valore Null e il Valore Lunghezza zero, nel primo caso il campo è vuoto di dati, nel secondo il dato esiste, solo che la lunghezza della stringa è zero (ciò si indica con ). A cosa serve? Apparentemente a niente, ma se la tabella deve essere utilizzata in un programma Visual Basic o in altri database, utilizzare un valore Null può causare errore, mentre una stringa vuota può essere manipolata come fosse una stringa di lunghezza diversa da zero. Inoltre, se il valore è di tipo numerico, Null non significa 0 (anche zero è un valore), ma significa che il dato non c è. Conviene comunque impostare a Si questa proprietà insieme alla proprietà Richiesto; in questo modo siamo sicuri che nel campo vi è sempre un dato, anche se esso è di lunghezza zero e Access ci permette di andare avanti, anche se nel campo non immettiamo alcun valore. AM5.1.2 Relazioni, Join Nell introduzione abbiamo accennato ai database relazionali e alle relazioni fra le tabelle e abbiamo creato il nostro progetto di database tenendo conto di alcune considerazioni su di esse. Approfondiamo in questa sede il significato e l importanza della progettazione di un database su più tabelle e sulle loro relazioni. Pagina 20 di 82

21 Un database, in linea generale, contiene sempre un numero rilevante di dati relativi alla gestione di una attività di qualunque genere, economica, scientifica, commerciale, aziendale etc. Si verifica sempre che non sia possibile raccogliere questi dati in un unica tabella; se così non fosse, probabilmente sarebbe sufficiente Excel per gestirli. Nell esempio che stiamo seguendo (Magazzino) i dati relativi ad articoli, fornitori, carichi e scarichi devono risiedere su più tabelle per svariati motivi, ma la loro gestione sarebbe alquanto complicata se Access non fosse un database relazionale, ovvero se non avessimo la possibilità di mettere in relazione le diverse tabelle fra loro, in modo da accedere direttamente ai dati collegati e a raggrupparli mediante maschere, query e report. Stabilire le relazioni corrette fra le tabelle è il primo punto essenziale nella progettazione del database, ancor più importante che la definizione delle tabelle stesse da costruire, in quanto se si riescono a intuire le relazioni, le tabelle ne scaturiscono di conseguenza. AM Comprendere i fondamenti per la realizzazione di una relazione valida. Che significa esattamente stabilire una relazione fra due tabelle? Significa creare nelle due tabelle relazionabili due campi collegati fra loro, nel senso che il valore della prima tabella sia uguale al valore dell altra, in modo che attraverso questo valore si possano cercare nella seconda tabella tutti i record che hanno questo valore di campo o viceversa. In linea generale le relazioni vengono create fra un campo chiave primaria di una tabella (la chiave primaria è univoca, cioè due record della tabella non possono avere valore uguale) e un campo dello stesso tipo in una seconda tabella. Se la chiave primaria è un campo Contatore, il campo della seconda tabella deve essere Numerico intero lungo o ID Replica. In altri termini i due campi collegati, poiché devono contenere uno stesso dato, devono essere dello stesso tipo e dimensione. Per fare l esempio Articoli e Fornitori, i campi collegati sono ID Fornitore della tabella Fornitore e ID Fornitore della tabella Articoli; in questo modo ad un certo articolo (per esempio quello di ID Articolo=123) corrisponde per esempio un ID Fornitore=354. Se si va a cercare nella tabella Fornitori il record di ID Fornitore=345, accanto possiamo leggere il nome, l indirizzo etc. del fornitore, non solo, ma dal codice del fornitore possiamo cercare nella tabella Articoli tutti gli articoli che hanno lo stesso ID Fornitore, e cioè che appartengono allo stesso fornitore. I tipi di relazioni che possono essere impostati, a seconda delle esigenze di database, sono: Uno a Uno, Uno a Molti, Molti a Molti, Spiegheremo in seguito il loro significato. Vi sono due modi per definire le relazioni. Il modo più semplice e rapido è quello di aprire la finestra Relazioni cliccando sul relativo pulsante ( ) o cliccando sul menu Strumenti / Relazioni. Si apre la finestra Relazioni. Creiamo le relazioni fra le tabelle impostate nel nostro semplice progetto. Se non esistono relazioni fra le tabelle, la finestra risulta vuota e viene aperta la finestra Mostra Tabella, la quale, comunque, può essere aperta in ogni momento cliccando sul pulsante Mostra Tabella ( ) oppure cliccando sul menu Relazioni / Mostra Tabella presenti quando la finestra Relazioni è aperta. Pagina 21 di 82

22 Nella finestra Mostra tabella selezioniamo una a una tutte le tabelle e clicchiamo sul pulsante Aggiungi. Terminata l operazione clicchiamo su Chiudi per nascondere la finestra. A questo punto la finestra relazioni dovrebbe contenere tutte le tabelle. La posizione delle tabelle può essere modificata trascinandola col mouse. Per creare la relazione è sufficiente trascinare col mouse uno dei due campi da collegare sull altro. Agganciamo col mouse il campo ID Articolo della tabella Articoli e portiamolo sul campo ID Articolo della tabella Fornitore. Rilasciando il pulsante del mouse viene creata automaticamente la relazione, che appare come una linea che congiunge i due campi. Spostando le tabella la linea si adatta alla nuova posizione. Se fossero state create in precedenza delle relazioni, compare la finestra Modifica relazioni, che esamineremo in seguito. In questo caso cliccare sul pulsante Crea. Creiamo allo stesso modo tutte le relazioni previste nella tabella. Se tutto è stato fatto correttamente le relazioni dovrebbero apparire come in figura. Pagina 22 di 82

23 Ma che tipo di relazioni sono state create? In genere la creazione automatica produce relazioni che dipendono dal tipo di campi correlati. Se il campo della prima tabella è chiave primaria e quello della seconda tabella non è chiave primaria, viene creata una relazione Uno a Molti. Esaminiamo la relazione ID fornitore della tabella Fornitori e ID fornitore della tabella Articoli. La relazione è uno a molti nel senso che un fornitore può fornire più articoli, ma ogni articolo è fornito da un solo fornitore. Ciò è solo una nostra scelta, in quanto si potrebbe anche impostare il database nel senso che una Matita Fila n 2, per esempio, potrebbe essere fornita da diversi fornitori. In questo caso la relazione dovrebbe essere Molti a Molti. Di questa relazione parleremo nel paragrafo successivo. Nel nostro caso non conviene una relazione Molti a Molti in quanto non possiamo assegnare più prezzi allo stesso articolo e, d altra parte, fornitori diversi possono fornire Matita Fila n 2 a prezzi diversi. Se entrambi i campi collegati sono chiavi primarie viene creata una relazione Uno a Uno. Questo tipo di relazione non è comune perché, in genere, i dati delle due tabelle vengono inseriti nella stessa tabella, ma può accadere che certe informazioni si vogliano tenere più riservate e quindi vengono messe in una tabella diversa. Facciamo un esempio: vogliamo distinguere fra fornitori solleciti e non. Creiamo un altra tabella con chiave primaria ID Fornitori e un campo Si/No. Collegando le due chiavi primaria delle due tabelle si crea una relazione Uno a Uno. Il dato riservato posso nasconderlo e utilizzarlo in una query personale. Il secondo modo per creare o modificare le relazioni è quello di utilizzare la finestra Modifica relazioni. Per aprire la finestra Modifica relazioni che, abbiamo visto, si apre comunque se relazioni erano state create in precedenza e modificate, cliccare sul menu Relazioni / Modifica relazione (la voce di menu Relazioni appare solo quando la finestra Relazioni è aperta e attiva), oppure, se sono presenti relazioni fra le tabelle, cliccando col destro del mouse sulla linea della relazione e scegliendo Modifica relazione dal menu di scelta rapida. In alternativa basta fare doppio click all interno della finestra Relazioni. Pagina 23 di 82

24 In questa finestra possiamo: scegliere la tabella di sinistra (quella con la chiave primaria su cui impostare la relazione) scegliere la tabella di destra (quella col campo da collegare a quella di sinistra) Modificare una relazione esistente modificando il tipo di collegamento (Join) Creare una nuova relazione Applicare l integrità referenziale E da specificare che il tipo di relazione (Uno a Molti etc.) è cosa diversa dal tipo di Join (collegamento) come risulterà chiaro nei paragrafi successivi quando parleremo di join interno, esterno etc. Il pulsante Crea nuova... permette di creare una nuova relazione. Cliccando su di esso si apre la finestra in cui possiamo selezionare le tabelle e i campi da collegare. Fatto ciò cliccando su OK viene creata la relazione Uno a Molti. AM Comprendere e modificare una relazione molti a molti tra tabelle. La relazione Molti a Molti permette di associare più campi di una tabella con più campi dell altra. Come detto in precedenza un articolo potrebbe essere fornito da più fornitori e un fornitore fornire più articoli. Questo tipo di relazione non può essere impostata direttamente. Per risolvere la relazione Molti a Molti occorre necessariamente creare una tabella intermedia, che, con relazioni Uno a Molti, Pagina 24 di 82

25 colleghi le due tabelle. Nel nostro caso la tabella potrebbe essere concepita nel modo seguente: un campo ID chiave primaria, un campo ID Fornitore intero lungo, un campo ID Articolo intero lungo. Le relazioni da creare saranno: una relazione uno a molti fra le tabella Fornitori e la tabella intermedia fra i campi dello stesso nome e una relazione uno a molti fra la tabella Articoli e quella intermedia sempre fra campi dello stesso nome. In questo modo nella tabella intermedia sono presenti tutti gli accoppiamenti articolo-fornitore. Il campo Prezzo dovrebbe essere aggiunto in questa tabella. AM Applicare join di tipo interno, esterno sinistro ed esterno destro. Il Join (ovvero collegamento) è cosa diversa dalla relazione. Esso permette di organizzare i dati collegati in modi diversi in una query. Facciamo un esempio. Se non viene applicata l integrità referenziale, come vedremo appresso, in una relazione uno a molti, potremmo avere un articolo a cui non è ancora associato un fornitore, oppure potremmo avere un fornitore che non ha ancora fornito articoli. Supponiamo di fare una query in cui compaiano gli articoli e accanto il relativo fornitore. Il tipo di join mi permette di elencare solo gli articoli che hanno un fornitore oppure tutti gli articoli, anche quelli senza fornitore, oppure tutti i fornitori che forniscono almeno un articolo o anche quelli che per ora non forniscono articoli. Quando si crea una relazione uno a molti viene impostato automaticamente il primo tipo di join dei tre che esamineremo dopo. Per modificare il tipo di join impostato cliccare sul pulsante Join; si apre la finestra Proprietà join nella quale abbiamo tre possibilità di scelta. La finestra in figura riguarda la relazione Articoli Fornitori creata in precedenza. Il primo tipo di join (che è quello di default) viene chiamato Join interno e produce in una query con campi Articoli e Fornitori un elenco in cui sono presenti solo i record di Articoli e quelli di Fornitori che hanno lo stesso valore. In altri termini non vengono elencati gli articoli che non hanno un fornitore né i fornitori che non hanno articoli. Il secondo tipo di join è detto Join esterno sinistro (perché a sinistra si trova la tabella con in relazione il campo chiave). Questo tipo di join produce in una query un elenco che comprende tutti i fornitori e solo gli articoli che hanno un fornitore. Accanto ai fornitori che non hanno articoli comparirà un campo vuoto. Il terzo tipo di join è detto Join esterno destro (perché a destra è la tabella col campo non chiave collegato alla prima). Esso produce in una query un elenco in cui Pagina 25 di 82

26 sono presenti tutti gli articoli e solo i fornitori che hanno articoli. Accanto agli articoli che non hanno fornitori compare un campo vuoto. E da sottolineare l importanza del join che permette di ricercare e controllare i dati presenti nel database. Per esempio potrebbe verificarsi che in una operazione di carico siano stati caricati in magazzino articoli a cui non corrisponde un fornitore. Non sarà possibile emettere una fattura. Si può controllare nel modo descritto prima se vi sono articoli senza fornitori e provvedere alle correzioni necessarie. AM Applicare e utilizzare l integrità referenziale. E evidente, da quanto abbiamo esposto prima, che le tabelle relazionate hanno in comune campi che permettono di associare record della tabella esterna con record della tabella interna, ovvero la tabella che ha la chiave primaria in relazione con l altra tabella. Proprio per questo motivo bisogna fare in modo che la correlazione di questi dati non venga perduta per errore o cancellazione di un record. A ciò provvede l Integrità referenziale, che possiamo applicare alla relazione spuntando la casella di selezione Applica Integrità referenziale nella finestra Modifica Relazione analizzata nel paragrafo precedente. Quando ad una relazione si applica l integrità referenziale non è possibile immettere un valore nel campo chiave esterna della tabella correlata che non esiste nella chiave primaria della tabella primaria. È possibile, comunque, immettere un valore Null, cioè lasciare il campo vuoto nella tabella esterna, indicando così che il record non è ancora correlato alla tabella primaria. Un articolo, ad esempio, non può essere assegnato a un fornitore che non esiste nella tabella Fornitori, ma può essere assegnato a un fornitore ancora indefinito lasciando vuoto il campo ID Fornitore nella tabella Articoli (cioè lasciando il valore Null che nel campo esiste fino a quando non si inserisce un valore definito). L ID Fornitore potrà essere immesso quando inseriremo nella tabella Fornitori il fornitore giusto. Non è possibile eliminare un record da una tabella primaria, cioè che ha la chiave primaria in relazione, se esistono record corrispondenti in una tabella correlata. Non è possibile ad esempio eliminare un record relativo a un fornitore della tabella Fornitori se ci sono articoli appartenenti a quel fornitore nella tabella Articoli. Non è possibile modificare un valore chiave primaria nella tabella primaria, se quel record dispone di record correlati. Non è possibile ad esempio modificare un ID Fornitore nella tabella Fornitori se ci sono articoli assegnati a quel fornitore nella tabella Articoli. Ogniqualvolta si tenta di effettuare una operazione descritta sopra, Access avverte che non è possibile eseguirla a meno che non si elimini l integrità referenziale modificando la relazione interessata togliendo la spunta alla relativa casella. AM Applicare la cancellazione automatica dei record correlati. Applicando, dunque l integrità referenziale ad una relazione diventa impossibile modificare o eliminare i dati correlati. E possibile tuttavia aggirare questa situazione spuntando le caselle di selezione Aggiorna campi correlati a catena e Elimina campi correlati a catena che si attivano se è selezionata la casella Applica integrità referenziale nella finestra Modifica Relazione. Pagina 26 di 82

27 Se viene spuntata la casella Aggiorna campi correlati a catena, è permesso modificare la chiave primaria della tabella primaria. In questo caso Access avverte che tutti i dati correlati nella tabella esterna saranno modificati cambiando il valore del campo correlato. Ad esempio modificando il valore di ID Fornitore nella tabella Fornitori, verranno modificati tutti gli ID Fornitore della tabella Articoli correlati con la tabella Fornitori. Se il campo chiave primaria è di tipo Contatore, la modifica del dato non è possibile per cui questa opzione dell integrità referenziale non ha nessun effetto. Allo stesso modo, se viene spuntata la casella Elimina record correlati a catena, eliminando un record della tabella primaria, se ad esso sono correlati dati nella tabella esterna, Access avverte che questi record saranno eliminati. AM Collegare, mettere in relazione i dati durante la definizione delle query. Abbiamo parlato in un paragrafo precedente dei tre tipi di join (interno, esterno sinistro ed esterno destro) e abbiamo sottolineato che essi sono particolarmente utili nelle query, mediante le quali si possono ottenere elenchi che comprendano o meno i dati non correlati di due tabelle in relazione fra di loro, ad esempio i fornitori che non hanno articoli o gli articoli che non hanno fornitori o soltanto i fornitori che hanno articoli e gli articoli che hanno fornitori. Si può definire il tipo di join anche durante la progettazione di una query, in quanto nella visualizzazione struttura di essa, appaiono anche le tabelle di origine e le relazioni esistenti fra di esse. Come esempio creiamo una query che mostri in elenco tutti gli articoli e solo i fornitori che hanno articoli. Innanzitutto bisogna avere creato le tabelle secondo le indicazioni date nella stesura del nostro progetto e creato le relazioni indicate. A questo punto inserire nella tabella Fornitori almeno cinque record con tutti i dati. Inserire nella tabella Articoli almeno dieci record, di cui una parte collegati a fornitori della tabella fornitori e una parte senza fornitori. Lasciare anche una parte di fornitori senza articoli. Una situazione possibile può essere la seguente: Pagina 27 di 82

28 Le relazioni impostate devono essere: 1. ID Fornitori della tabella Fornitori con ID Fornitori della tabella Articoli 2. ID Articoli della tabella Articoli con ID Articoli della tabella Articoli dell operazione 3. ID Op della tabella Operazioni con ID Op della tabella Articoli dell operazione Tutte le relazioni sono Uno a Molti. Sia applicata anche l integrità referenziale come spiegato nei paragrafi precedenti, ovvero spuntando la casella Applica integrità referenziale nella finestra Modifica relazioni. Create le tabelle e inseriti i dati possiamo procedere alla creazione della query. Cliccare sul pulsante Query della finestra Database e poi su Crea una query in visualizzazione struttura. Si apre la finestra della struttura della query e la finestra Mostra tabella (se questa finestra non si aprisse, cliccare sul pulsante Mostra tabella ( )). Selezionare la tabella Articoli e la tabella Fornitori e aggiungerle alla query. Chiudere la finestra Mostra tabella. Dopo aver inserito i campi da visualizzare, come spiegato dopo, la situazione dovrebbe apparire come in figura. Pagina 28 di 82

29 Notare la forma della linea della relazione Uno a Molti. Essa appare in questo modo, e non con due puntini agli estremi, quando è impostata la integrità referenziale. Inseriamo nella query i campi che dovranno apparire nella tabella prodotta dalla query facendo doppio click sul campo relativo. Più precisamente inseriamo, per non complicare la tabella, solo i campi Nome dell articolo e Nome del fornitore. In questa finestra è possibile agire sulle relazioni eliminandole o modificandole o cambiando il tipo di join. Per far ciò si può: cliccare col pulsante destro del mouse sulla linea della relazione e poi su Proprietà Join cliccare col pulsante destro del mouse all interno della zona tabelle e scegliere Relazione dal menu di scelta rapida Nel primo caso possiamo definire soltanto il tipo di join. Si apre infatti la finestra Proprietà join nella quale possiamo scegliere le tabelle e i campi della relazione e il tipo di join che nel nostro caso sarà il terzo tipo, cioè Join esterno destro. Selezionare, quindi, il terzo tipo di Join Pagina 29 di 82

30 Nel secondo caso si apre la finestra Relazioni con tutte le relazioni create. In questo caso è possibile modificare tutte le relazioni e i tipi di join. Scelto il tipo di join possiamo chiudere la query e salvarla col nome Elenco Articoli. Apriamo la query appena creata. La tabella dovrebbe apparire come in figura. Possiamo provare a modificare il tipo di join e verificare il risultato della query. Operando allo stesso modo impostiamo il Join esterno sinistro. Il risultato della query dovrebbe apparire come in figura Pagina 30 di 82

31 Scegliendo infine il Join di tipo interno il risultato dovrebbe apparire come in figura Osservare come cambiando la scelta del tipo di join, cambia il tipo di linea che rappresenta la relazione fra le due tabelle: per il join di tipo interno la linea non ha frecce ai suoi estremi per il join di tipo esterno sinistro vi è una freccia rivolta verso Articoli (visibili solo fornitori con articoli) per il join di tipo esterno destro vi è una freccia rivolta verso Fornitori (visibili solo articoli con fornitori) AM5.2 Progettazione delle query Le query sono il mezzo per interrogare un database, cioè per tirar fuori dalle inerti tabelle tutto ciò che possono fornire come dati articolati. Mediante le query si possono creare nuove tabelle, ordinare i dati, creare campi calcolati, rilevare esistenze di magazzino, ottenere consuntivi, aggiornamenti automatici, eliminazione di dati superflui. Le query possono raccogliere dati da più tabelle e produrre nuove tabelle che possono essere alla base di maschere e di report. Insomma è impossibile immaginare un database senza le query, perché sono esse che ci permettono di manutenzionare i dati e di raccoglierli in tutti i modi possibili. La creazione di una query è il modo guidato che usa Access per farci scrivere una interrogazione SQL senza conoscerne il linguaggio; in altri termini la creazione della query porta alla scrittura della frase della interrogazione, la quale può essere esaminata visualizzando la query in Visualizzazione SQL. Pagina 31 di 82

32 AM5.2.1 Tipi di query In questa sezione analizzeremo i tipi di query che possono essere create. Vediamo ora come può essere creata una query. Innanzitutto esiste la Creazione guidata che permette di creare con semplicità query anche complesse, rispondendo semplicemente ad alcune domande poste da Access. Alla creazione guidata si accede cliccando sul pulsante Query della finestra del database e poi su Crea una query mediante una creazione guidata. Una query, o meglio l istruzione SQL che ne è alla base, viene creata automaticamente da Access quando si progetta una Maschera o un Report o una Pagina di accesso ai dati. Una query può essere creata in visualizzazione struttura e personalizzata a piacere. Infine una query può essere creata salvando come tale un filtro di selezione o un filtro maschera. Per vedere quali tipi di query possono essere create, vediamo gli elenchi che si aprono durante la creazione. Se si crea una query in visualizzazione struttura, si apre la finestra della struttura e al menu viene aggiunta la voce Query. Cliccando su questa voce viene fuori il menu a discesa che contiene l elenco dei tipi di query che possono essere creati. In alternativa si può cliccare col pulsante destro del mouse nel riquadro tabella (il riquadro superiore) della finestra struttura e scegliere dal menu di scelta rapida che si apre Fra le query elencate possiamo distinguere query di selezione ( Query di selezione, Query a campi incrociati e Query parametriche) e query di comando (Query di creazione tabella, Query di aggiornamento, Query di accodamento, Query di eliminazione). Le prime selezionano record dalle tabelle, mentre le seconde eseguono un comando di manutenzione delle tabelle stesse. La finestra di visualizzazione struttura della query che si apre durante la creazione, si adegua al tipo di query impostata aggiungendo i campi necessari. AM Creare e utilizzare una query per aggiornare dati in una tabella. La query di aggiornamento permette di aggiornare alcuni record di una tabella con un solo comando. Per esempio trasformare in euro tutti i prezzi in lire della tabella Articoli oppure assegnare ad un altro fornitore una serie di articoli. Per creare una query di aggiornamento fare doppio click su Crea una query in visualizzazione struttura nella finestra del database. Si apre la visualizzazione struttura della query. Aggiungere le tabelle interessate (nel nostro caso vogliamo cambiare tutti i prezzi in euro per cui basta aggiungere la tabella Articoli). La situazione a questo punto dovrebbe essere Pagina 32 di 82

33 Per impostazione predefinita Access apre la struttura di una Query di selezione. Clicchiamo sul pulsante Tipo di query ( ) oppure sulla voce di menu Query e scegliere dall elenco Query di aggiornamento. La finestra della struttura della query si modifica aggiungendo il campo Aggiorna a.. E sufficiente aggiungere, a questo punto, soltanto i campi che si voglio aggiornare (nel nostro caso aggiungiamo il campo Prezzo) trascinandolo, al solito, nella casella Campo oppure facendo doppio click sul campo. Nella casella Aggiorna a digitiamo la formula di aggiornamento (nel nostro caso digitiamo senza le virgolette =[Prezzo]/1936,27, anche senza il segno di uguale. Chiudere la query cliccando sul pulsante di chiusura in alto a destra e salvare la query col nome opportuno (per esempio Trasformazione prezzi in euro). La query viene salvata. Per aggiornare i dati fare doppio click su di essa o cliccare sul pulsante Apri dopo averla selezionata nella finestra del database. A questo punto Access chiede conferma dell esecuzione della query, poiché i dati vengono modificati e l operazione non può più essere annullata. AM Creare e utilizzare una query per eliminare record da una tabella. Durante l uso del database le tabelle si arricchiscono di dati e possono diventare anche molto grandi. Quando il database si appesantisce, tutte le operazioni di ricerca dei dati rallentano. In genere molti dati delle tabelle col tempo diventano obsoleti e sarebbe preferibile eliminarli. Per esempio potrebbero non interessarci più le operazioni di carico e scarico fatte prima del 1998, oppure alcuni fornitori che non forniscono più merci. In questi casi, dopo aver salvato il database originale su CD in modo da avere sempre tutti i dati a disposizione, si può procedere alla eliminazione dei record mediante una query di eliminazione. Creiamo una query che elimini dalla tabella Operazioni tutte le operazioni di carico e scarico fatte in data precedente al Immettere, innanzitutto, nella tabella Operazioni, alcuni record completi con date precedenti al 1998, allo scopo di controllare il funzionamento della query che stiamo creando. A questa tabella è collegata la tabella Articoli dell operazione. Controlleremo anche, creando la query di eliminazione, che vengano eliminati anche i record collegati della seconda tabella. Ricordiamo che deve essere stata creata una relazione Uno a Molti fra la chiave primaria ID Op della tabella Operazioni e il campo ID Op della tabella Articoli dell operazione ed essere stata impostata l Integrità referenziale spuntando le caselle di selezione Applica Pagina 33 di 82

34 integrità referenziale e Elimina record collegati a catena della finestra Modifica relazione. Infatti in una query di eliminazione, se esiste una relazione uno a molti, eliminando dalla tabella primaria un record, verranno eliminati dalla tabella esterna i record collegati. La situazione iniziale potrebbe essere la seguente Pagina 34 di 82

35 Procediamo alla creazione della query di eliminazione cliccando due volte su Crea una query in visualizzazione struttura e aggiungendo le tabelle Operazioni e Articoli dell operazione. Possiamo ora scegliere dall elenco che si apre cliccando sul pulsante Tipi di query ( ) o sulla voce di menu Query / Query di Eliminazione. Anche in questo caso la finestra struttura si modifica da query di selezione a query di eliminazione aggiungendo i campi opportuni. Se vogliamo eliminare dati dalla tabella Operazioni allora trasciniamo nella zona struttura l asterisco (che sta a significare tutti i campi) della tabella Operazioni e il campo Data della stessa tabella. Osserviamo che nella prima colonna nel campo Elimina viene selezionato Da indicando che i record verranno eliminati dalla tabella Operazioni; nella seconda colonna viene selezionato Dove indicando il criterio di eliminazione del campo inserito. Se vogliamo eliminare le operazioni effettuate fino al 31/12/1998, allora nel campo Criterio digitiamo senza le virgolette [Data]<1/1/1999. Access modifica automaticamente la sintassi nella forma [Data]<#01/01/99#. Il tutto vuol dire elimina dalla tabella Operazioni tutti i record dove la data è precedente all 1/1/99. Prima di chiudere e salvare la query è buona norma accertarsi che vengano eliminati realmente i dati che avevamo intenzione di eliminare, in quanto l eliminazione è irreversibile. Possiamo verificare quali dati saranno eliminati cliccando sul pulsante Visualizza query ( ) posto in alto a sinistra nella barra degli strumenti. Cliccando sulla freccetta appaiono tre opzioni: Visualizzazione Foglio dati, Visualizzazione struttura e Visualizzazione SQL. Con la prima si ottiene la tabella dei record eliminati. Nel nostro caso apparirà quanto in figura: Cliccando su Visualizzazione struttura si ritorna alla visualizzazione struttura della query. Pagina 35 di 82

36 Cliccando su Visualizzazione SQL viene visualizzata l interrogazione SQL che Access ha creato. Conoscendo il linguaggio SQL tale interrogazione poteva essere scritta direttamente e adoperata in qualunque tipo di database che supporta il linguaggio. Chiudiamo la query cliccando sul pulsante di chiusura in alto a destra e salviamola col nome Elimina i dati precedenti al 1999 Per eseguire la query creata facciamo doppio click sul suo nome oppure selezioniamola e clicchiamo poi sul pulsante Apri. Al solito, poiché vengono eliminati dei dati, Access chiede conferma. Il risultato dovrebbe essere quello in figura Pagina 36 di 82

37 AM Creare e utilizzare una query per salvare come tabella le informazioni estratte. Per estrarre dati da una o più tabelle possiamo usare una query di selezione. Tale query produce una tabella che è la query stessa, nel senso che se i dati delle tabelle originali cambiano, rieseguendo la query i dati vengono aggiornati. Talvolta si può aver bisogno di fotografare la situazione in un certo momento e conservare la tabella prodotta. In questo caso possiamo creare, al posto di una semplice query di selezione, una query di creazione tabella. In questo caso viene creata, oltre alla query anche una tabella che viene aggiunta all elenco delle tabelle e che può essere usata come tutte le altre tabelle. Per creare una query di creazione tabella si procede come nei casi precedenti aprendo la visualizzazione struttura della query e cliccando poi sul pulsante Tipi di Query ( ) o sulla voce di menu Query. Dall elenco scegliamo Query di creazione tabella. Access richiede il nome della tabella da creare e se salvarla nel database corrente o in un altro database; ciò è utile se si vogliono trasportare dati da un database ad un altro. Supponiamo di voler creare una tabella che mostri il nome degli articoli con accanto il nome del fornitore e con i prezzi ivati. Il nome della tabella sia Articoli con prezzi ivati. A questo punto possiamo costruire la tabella inserendo i campi (nel nostro caso inseriamo ID Articolo, Nome dell articolo, Nome del fornitore) trascinandoli, come al solito, nella zona struttura o facendo doppio click su di essi. Inseriamo anche il campo Prezzo Ivato, che è un campo calcolato. Per costruire questo campo si scrive prima il nome del campo (nel nostro caso Prezzo Ivato) separato dai due punti dalla formula per il calcolo (che nel nostro caso è [Prezzo]*1,20 se l IVA è del 20%). Pagina 37 di 82

38 Ricordiamo che il tipo di join fra le tabella produrrà un elenco diverso per ognuno di essi. Se si vogliono in tabella solo gli articoli che hanno un fornitore useremo il join interno, se vogliamo tutti gli articoli, anche quelli senza fornitore, useremo il join esterno destro. Per vedere il risultato della query clicchiamo sul pulsante Visualizza query ( ) posto in alto a sinistra nella barra degli strumenti. Salviamo la query con lo stesso nome della tabella che verrà prodotta in modo da poterla individuare con facilità. Facciamo doppio click per eseguirla. Se non vi sono errori, la tabella viene aggiunta all elenco delle tabelle. Questa nuova tabella non è collegata alle altre per cui non verrà aggiornata automaticamente quando viene modificatao la tabella Articoli o la tabella Fornitori. Per aggiornare la tabella occorre eseguire nuovamente la query, la quale avvertirà che la vecchia tabella verrà sostituita. AM Aggiungere record ad una tabella utilizzando una query. Un altro tipo di query interessante è quella che permette di aggiungere ad una o più tabelle del database record provenienti da altre tabelle, naturalmente di struttura simile come tipologia di dati. Tale query è utile nel caso si abbiano tabelle da cui prelevare dati da aggiungere alla tabella principale senza doverli digitare. I dati possono provenire anche da database diversi da Access, come dbase, Paradox o FoxPro. Infine i record della tabella da accodare possono avere anche un numero di campi inferiore a quelli della tabella principale. In questo caso Access semplicemente ignora i campi non comuni. Per creare una query di accodamento si procede come nei casi precedenti. Per provarne il funzionamento creiamo prima un altra tabella da cui prelevare i dati. Senza digitare tutti i dati duplichiamo la tabella Articoli e modifichiamo i dati presenti. Per far ciò: click col pulsante destro del mouse sulla Tabella Articoli click su Copia click col pulsante destro del mouse in un punto qualunque della finestra del database click su Incolla. Si apre la finestra di dialogo Pagina 38 di 82

39 Inserire il nome della nuova tabella. Possiamo replicare struttura e dati oppure solo la struttura. Duplichiamo solo la struttura. Cliccare su OK. La tabella viene creata. Aggiungiamo alla tabella quattro record completi. Siamo pronti per creare la query di accodamento. Facciamo doppio click su Crea tabella in visualizzazione struttura e, come al solito, aggiungiamo dalla finestra Mostra tabella la tabella Articoli. Chiudiamo la finestra Mostra tabella. Al solito modo, cliccando sul pulsante Tipi di query ( ) o sulla voce di menu Query, scegliamo Query di Accodamento. Viene richiesto il nome della tabella a cui accodare i dati. La tabella può risiedere nello stesso database o in un altro. Può essere inserito l indirizzo completo del database. Cliccando sul pulsante OK si apre la struttura della query nella quale compare la riga Accoda a Dalla finestra Mostra tabella aggiungiamo la tabella creata in precedenza e chiudiamola. A questo punto possiamo inserire i campi che vogliamo accodare. Se vogliamo accodare tutti i campi basta trascinare nella griglia della struttura l asterisco, che indica tutti i campi. Alla fine la situazione dovrebbe essere come in figura. Pagina 39 di 82

40 Volendo, invece dell asterisco si possono immettere tutti i campi uno ad uno. Nella riga Criteri possono anche essere inseriti criteri di selezione dei dati da accodare. Possiamo ora salvare la query chiudendo la visualizzazione struttura e dandogli un nome, e poi facendo doppio click su di essa per farla eseguire, oppure prima di chiuderla, cliccare sul pulsante Esegui ( ). Access avvisa che verranno accodati un certo numero di record e chiede conferma. Si può, infine, ed è bene farlo sempre, controllare il risultato della query cliccando sul solito pulsante Visualizza query ( ) posto in alto a sinistra nella barra degli strumenti, e tornare poi in visualizzazione struttura cliccando sul pulsante Struttura ( ). AM5.2.2 Formule nelle query. La versatilità di un database relazionale, quale Access, consiste nella possibilità di manipolare i dati in modo da avere sott occhio la situazione nelle forme più disparate, agendo sui dati presenti, calcolando su di essi e raggruppandoli. Per esempio non è necessario avere nella tabella Articoli un campo Prezzo comprensivo di IVA, in quanto possiamo calcolarlo in una query semplicemente moltiplicando il Prezzo per 1+%IVA/100. Intanto la tabella Articoli risulta più snella. Potremmo, per esempio, aver bisogno di sapere il valore complessivo speso per ciascun articolo per fornitore da una certa data ad un altra, o altre informazioni ancora, che non sono esplicitamente contenute nelle tabelle, ma che possiamo raggruppare e calcolare mediante una query. Semplici calcoli sui campi singoli possono essere effettuati in query di selezione, calcoli articolati su raggruppamento di dati possono essere effettuati in query a campi incrociati. In questa sezione tratteremo di query a campi incrociati e delle funzioni ed espressioni che possono essere utilizzate per raggruppare i dati. AM Raggruppare le informazioni in una query. Che significa raggruppare le informazioni di un database? Semplicemente unire in un unico dato, per esempio una somma, una media, un conteggio o qualsiasi altro tipo di totale che può essere fatto su un gruppo di dati, dati sparsi nelle tabelle di base. Prendendo ad esempio il nostro database, potremmo aver bisogno di sapere Pagina 40 di 82

41 in ogni momento quanto abbiamo pagato ad ogni fornitore per ogni articolo o per tutti gli articoli forniti da una certa data ad oggi. Se l operazione dovesse essere condotta manualmente dovremmo aprire la tabella Articoli delle operazioni e sommare per ogni fornitore e per ogni articolo tutti i dati; fatica immane e assurda. Il raggruppamento con una query è automatico. Il senso del raggruppamento è ancora più evidente se pensiamo alla presentazione dei dati in un report, in cui, per esempio, potremmo raggruppare tutti i fornitori di Lecce, tutti quelli di Roma, etc con i sottototali e con i totali complessivi in euro di ciò che ci hanno fornito nel AM Utilizzare in una query le funzioni: somma, conteggio, media, massimo e minimo. Le funzioni Somma, Conteggio, Media, Massimo e Minimo sono tipiche funzioni che operano su un gruppo di dati, insieme a DevSt (deviazione standar) e Var (varianza). Ha senso applicarle laddove si ha una serie di dati omogenei su cui operare. In una query di selezione semplice, cioè che estrae dati da una o più tabelle, ha senso aggiungere un campo calcolato con una funzione di aggregazione solo se nella riga vi sono dati omogenei da raggruppare. Ha, invece, molto senso usare le funzioni di aggregazione, in query a campi incrociati, di cui parleremo nel paragrafo seguente, e nei report. AM Utilizzare una query a campi incrociati. La query a campi incrociati permette di organizzare i dati in modo da presentarli in modo diverso e raggruppati. Essa può fornire prospetti riassuntivi che danno una visione immediata della situazione. Supponiamo, per esempio, di aver bisogno di un prospetto in cui siano raccolti i totali per ogni articolo fornito (quindi in carico) e per ogni fornitore, allo scopo di confrontare le spese e le convenienze. Ad esempio il prospetto tipo quello in figura La query a campi incrociati può risolvere con facilità il nostro problema. Ma di cosa avremo bisogno nel nostro esempio di database? Per ottenere il prospetto sopra occorre creare prima una query di selezione in cui avere tutti i dati che ci servono. Chiameremo questa query Totali. In essa dovranno apparire i totali delle operazioni di carico per ciascun articolo e per ciascun fornitore. Apriamo la query in visualizzazione struttura e aggiungiamo le tabelle e i campi come in figura Pagina 41 di 82

42 Questa query sarà alla base della query a campi incrociati che stiamo creando. Notare che nel campo Carico abbiamo messo la condizione Vero in modo da avere in elenco solo le operazioni di carico (come vedremo in seguito, questa condizione potrebbe essere aggiunta anche nella query a campi incrociati). E chiaro anche che potremmo inserire altri criteri di selezione negli altri campi. Per esempio aggiungere il campo Data e il criterio per avere solo le operazioni del 2003 (>31/12/2002 and <1/1/2004). Ora possiamo procedere alla creazione della query a campi incrociati che chiameremo Totali forniture. In una query a campi incrociati si hanno solo tre colonne; nella prima occorre inserire il campo che costituirà l intestazione di riga (nel nostro caso il nome dei fornitori), nella seconda il campo che costituirà l intestazione di colonna (nel nostro caso il nome degli articoli) e nella terza colonna il valore che verrà inserito agli incroci della tabella (nel nostro caso la somma di tutti i carichi di un articolo per un fornitore. Tali valori scaturiscono da una funzione di aggregazione che è l unica che possiamo adoperare in una query di questo tipo. Il concetto stesso di aggregazione presuppone che il nostro fine è quello di raggruppare dati e su di essi effettuare una operazione, che non può essere che una funzione che lavora su un gruppo di dati (ad esempio somma, media, massimo, minimo, conteggio etc.). Esamineremo dopo queste funzioni. Per creare la nostra query apriamo una nuova query in visualizzazione struttura. Dalla finestra Mostra tabella scegliamo la scheda Query e aggiungiamo la query creata in precedenza (Totali). Chiudiamo la finestra. Inseriamo al solito modo (doppio click sul campo o trascinamento del campo) i campi Fornitori, Articoli e Totale. Clicchiamo ora sul pulsante Tipi di query ( ) o sulla voce di menu Query e scegliamo Query a campi incrociati. La struttura della query si modifica e appaiono righe nuove. Pagina 42 di 82

43 Nella riga Formula dobbiamo necessariamente inserire una voce dell elenco che si apre cliccandoci sopra. Le voci presenti sono le funzioni di aggregazione permesse: Raggruppamento. Tale funzione raggruppa i dati nel senso che tutti i dati relativi alla stessa voce vengono raggruppati in uno, secondo la funzione usata nel campo Valore. Ad esempio tutti i carichi dell articolo Penna a sfera verranno riuniti in uno. Somma, media, minimo, massimo, DevSt (deviazione standard), Var (Varianza) eseguono i calcoli relativi sul gruppo dei dati individuati dall intestazione di riga e di colonna. Conteggio, primo, ultimo danno il numero dei termini del gruppo oppure il valore del primo o dell ultimo. Dove e Espressione permettono di impostare nella riga Criteri, criteri di selezione su un altro campo oltre ai tre necessari per produrre la query. Per esempio aggiungendo il campo Data alla query, possiamo inserire il criterio per limitare i calcoli alle operazioni di carico di un certo periodo. Noi abbiamo inserito il campo Data nella query di base, ma si poteva operare in quest altro modo. In figura si possono vedere le scelte corrette per il nostro scopo. Tali scelte vogliono dire: crea una tabella Fornitori-Articoli in cui agli incroci compaia la somma dei carichi degli articoli. Se sono stati eseguiti tutti i passi correttamente, il risultato della query, che può essere verificato cliccando sul pulsante Visualizza query ( sinistra nella barra degli strumenti, sarà il seguente: ) posto in alto a Per visualizzare il formato corretto nelle celle della tabella si può cliccare col pulsante destro del mouse, in visualizzazione struttura, sul campo Valore e scegliere Proprietà dall elenco. Impostare il Formato a Euro e Cifre decimali a 2. Per tornare in visualizzazione struttura cliccare sul pulsante Struttura ( ). Pagina 43 di 82

44 Nella creazione della query si poteva aggiungere anche una colonna che ci dia la somma dei valori per ogni fornitore in modo da confrontare immediatamente i volumi di affari con ciascuno di essi. Per far ciò occorre inserire una seconda volta nella riga Campo della visualizzazione struttura della query a campi incrociati, il campo Totale (magari facendolo precedere dalla etichetta dell intestazione del campo, ad esempio Totale generale:totale. Nella riga Formula inseriamo Somma e nella riga Campi incrociati inseriamo Intestazione di riga. Con ciò intendiamo dire che la somma deve essere eseguita sulla riga del riepilogo. Il risultato lo vedremo appresso. La query a campi incrociati può essere creata anche mediante una creazione guidata. Una volta capito il meccanismo, risulta più facile impostare i dati richiesti, per ottenere gli effetti desiderati. Proviamo a creare la stessa query con la creazione guidata. Nella finestra del database clicchiamo su Query e poi sul pulsante Nuovo. Dall elenco selezionare Query a campi incrociati. Compare la prima finestra della creazione guidata per la scelta delle tabelle di base. Selezioniamo la query Totali. Cliccare sul pulsante Avanti. Viene richiesto di scegliere il campo Intestazione di riga. Scegliamo Fornitori.Nome e clicchiamo sulla freccia a destra. Cliccare su Avanti e allo stesso modo scegliamo l intestazione di colonna selezionando il campo Articoli.Nome. Ancora allo stesso modo scegliamo il campo valore selezionando il campo Totale. Nella schermata successiva scegliamo Somma come tipo di funzione di aggregazione e spuntiamo la casella di selezione Includi somme di righe se vogliamo il totale per ogni fornitore. Salviamo alla fine la query con un nome opportuno. Il risultato è identico a quello prodotto senza la creazione guidata. Pagina 44 di 82

45 Nel nostro esempio abbiamo utilizzato la funzione Somma come funzione di aggregazione dei dati nel campo Valore. Ma è evidente che allo stesso modo possono essere utilizzate le altre funzioni di aggregazione. Per esempio potrebbe interessare la Media del valore degli ordini per ogni articolo e per ogni fornitore. La query a campi incrociati da costruire è esattamente uguale alla precedente, sostituendo alla funzione somma, la funzione media. Per provarne il funzionamento, apriamo la query creata in precedenza in visualizzazione struttura e sostituiamo, nella riga Formula del campo Valore, la funzione Media, scegliendola dall elenco a discesa. Salviamo la query e apriamola in visualizzazione dati. Dovrebbe apparire come in figura. Provare, allo stesso modo, il risultato delle altre funzioni. AM Utilizzare i caratteri jolly in una query. Nella query a campi incrociati possono essere espressi anche criteri di selezione che limitino i dati da presentare in tabella. I criteri possono riguardare numeri e date, ma anche testo. Per esempio la tabella ottenuta potrebbe essere limitata ai fornitori di Lecce o di Roma, oppure solo a quelli che costituiscono Snc o Spa, o a quelli che superano un certo fatturato etc. Vediamo in questo paragrafo come utilizzare i caratteri jolly per selezionare dati testo in una query di selezione o a campi incrociati. I caratteri jolly sono caratteri che Access riconosce e che permettono di sostituire parti di testo. Essi sono * (asterisco) e? (punto interrogativo). L asterisco sostituisce un gruppo di caratteri qualunque e di qualunque lunghezza, mentre il punto interrogativo sostituisce un solo carattere nella posizione indicata. Ad esempio *at??zz* vuol dire che il testo cercato può cominciare in qualunque modo (il primo asterisco), deve contenere at ; subito dopo vi devono essere due lettere qualunque ( i due punti interrogativi), deve continuare con zz e terminare con qualunque altro testo (secondo asterisco). Pagina 45 di 82

46 I caratteri jolly possono essere utilizzati con l operatore di testo Like nella riga Criteri di una query. Se, ad esempio, vogliamo un elenco dei soli fornitori che costituiscono società per azioni, possiamo creare al solito modo in visualizzazione struttura una query Fornitori Spa, basata sulla tabella Fornitori. Nel campo Nome, nella riga Criteri inseriamo il criterio * spa*. Tale criterio esclude i nomi che contengono spa all interno della parola (ciò è garantito dallo spazio dopo l asterisco), ma esclude anche i nomi in cui spa è stato scritto con i punti (S.p.a.). Possiamo, quindi, inserire un OR che specifichi anche la seconda possibilità. In definitiva il criterio può essere come in figura Nella query a campi incrociati creata in precedenza possiamo inserire il criterio di selezione nel modo seguente AM Utilizzare espressioni aritmetiche e logiche in una query. Criteri di selezione possono essere impostati anche per campi numerici e logici. E consentita qualunque espressione che abbia un valore. Gli operatori aritmetici che possiamo adoperare sono quelli conosciuti di somma, differenza etc. L elenco completo è accessibile nel Generatore di espressioni a cui si accede mediante il pulsante Genera ( query. ) della barra degli strumenti in visualizzazione struttura della Pagina 46 di 82

47 Gli operatori disponibili sono aritmetici, di confronto e logici. Una espressione è un insieme di costanti e funzioni legate insieme da operatori. Il generatore di espressioni può aiutare a costruire una espressione valida. Ma risulta evidente che deve essere chiaro l intento. Facciamo qualche esempio. Supponiamo di voler estrarre tutte le operazioni di carico e scarico di valore superiore a 20 euro e aggiungere una colonna col prezzo in lire comprensivo di IVA. Dalle tabelle a nostra disposizione possiamo inserire in una query in visualizzazione struttura, al solito modo, i campi che ci interessano, ad esempio ID Op, Data, Nome dell articolo caricato o scaricato. Aggiungiamo un campo che calcoli il totale del carico o scarico. Ciò si fa scrivendo in una colonna vuota della struttura nella riga Campo l etichetta del campo seguita da due punti e dall espressione di calcolo (nel nostro caso sarà Totale:[Quantità]*[Prezzo] senza le virgolette). In un'altra colonna vuota, aggiungiamo, come detto prima, il campo del totale in lire con IVA Totale L.+IVA:[Quantità]*[prezzo]*1936,27*1,20 ; l espressione dopo i due punti calcola il valore in lire comprensivo di IVA al 20%. Le espressioni di calcolo potevano essere impostate col generatore di espressioni nel modo seguente: posizionarsi nel campo in cui si vuole immettere l espressione aprire il generatore cliccando sul pulsante Genera selezionare i campi da includere nel calcolo facendo doppio click sulle cartelle delle tabelle e gli operatori cliccando sui pulsanti relativi cliccare sul pulsante OK e l espressione viene inserita. Possiamo introdurre ora il criterio di selezione per il quale il totale deve essere superiore a 20 euro. Nella colonna Totale nella riga Criteri digitiamo (ma anche qui si potrebbe usare il generatore di espressioni) >20. Se tutto è stato fatto correttamente la struttura della query che stiamo creando dovrebbe essere quella in figura Prima di chiudere la struttura della query e salvarla si può controllare il risultato e la eventuale presenza di errori cliccando sul pulsante Visualizza query ( ) Pagina 47 di 82

48 posto in alto a sinistra nella barra degli strumenti. Si può tornare in visualizzazione struttura, al solito, ricliccando sullo stesso pulsante che nel frattempo è diventato Visualizza Struttura ( ). AM5.2.3 Raffinamento di una query. Access permette, mediante le query, di effettuare altre operazioni e ricerche automaticamente, oltre quelle viste nei paragrafi precedenti. Per esempio può ricercare nelle tabelle record o campi duplicati, può selezionare record in base a parametri immessi prima dell esecuzione, e altro ancora. AM Presentare duplicati. E possibile ricercare, nelle tabelle, record o campi duplicati. Per esempio potremmo cercare tutti i fornitori che hanno la stessa città oppure lo stesso fornitore che è stato immesso due volte con gli stessi dati. Tutto ciò può essere fatto automaticamente mediante una creazione guidata di una query di ricerca duplicati. Per creare una query di ricerca duplicati cliccare sul pulsante Query della finestra del database e poi sul pulsante Nuovo. Si apre la finestra di selezione dei tipi di query. Scegliamo Creazione guidata Query di ricerca duplicati e clicchiamo su OK. Inizia la creazione guidata. Viene richiesta la tabella o query nella quale cercare i duplicati. Al fine di verificare il funzionamento della query, inseriamo un duplicato di un fornitore; per esempio un fornitore dello stesso nome di uno già presente in archivio. Scegliamo, quindi la tabella Fornitori come base della query e clicchiamo sul pulsante Avanti. Viene, quindi, richiesto il campo dove cercare i dati replicati. Scegliamo il campo Nome, nel quale abbiamo inserito il fornitore dello stesso nome e poi clicchiamo sul pulsante con la freccetta a destra. Potremmo scegliere anche tutti i campi se vogliamo ricercare duplicati in tutti i campi. Pagina 48 di 82

49 Clicchiamo sul pulsante Avanti. Viene chiesto a questo punto quali campi oltre al campo Nome devono comparire nella query. Inseriamoli tutti cliccando sul pulsante con la doppia freccia a destra e clicchiamo sul pulsante Avanti. Possiamo dare ora il nome alla query e aprirla per vedere il risultato. Interessante è vedere la struttura di questa query. Nella riga Criteri è stato inserito automaticamente il criterio di selezione dei record, che è una istruzione SQL, In (SELECT [Nome] FROM [Fornitori] As Tmp GROUP BY [Nome] HAVING Count(*)>1 ). I file duplicati non possono essere eliminati automaticamente. Nel caso si volessero eliminare occorre seguire la procedura seguente, tratta dalla guida in linea di Access. Eliminare automaticamente i record duplicati da una tabella Con questa procedura si crea una copia della struttura della tabella che contiene duplicati, tutti i campi che contengono duplicati diventano chiavi primarie e viene quindi eseguita una query di accodamento dalla tabella originale alla nuova tabella. Poiché i campi che sono chiavi primarie non possono contenere record duplicati, questa procedura produce una tabella senza record duplicati. Per creare una nuova tabella: 1. Nella finestra del database scegliere Tabelle dall'elenco Oggetti. Pagina 49 di 82

50 2. Scegliere il nome della tabella dalla quale si desidera eliminare i record duplicati. 3. Fare clic sul pulsante Copia sulla barra degli strumenti. 4. Fare clic sul pulsante Incolla sulla barra degli strumenti. 5. Nella finestra di dialogo Incolla tabella con nome digitare un nome per la tabella copiata, scegliere Solo struttura, quindi scegliere OK. 6. Aprire la nuova tabella in visualizzazione Struttura e selezionare il campo o i campi che contenevano duplicati nella tabella che è stata copiata. 7. Fare clic sul pulsante Chiave primaria ( ) sulla barra degli strumenti per creare una chiave primaria basata sui campi selezionati. 8. Salvare e chiudere la tabella. Per accodare alla nuova tabella solo record univoci: 1. Creare una nuova query basata sulla tabella originale che contiene i duplicati. 2. In visualizzazione Struttura della query fare clic sulla freccia accanto al pulsante Tipo di query ( ) sulla barra degli strumenti, quindi fare clic su Query di accodamento. 3. Nella finestra di dialogo Accodamento selezionare il nome della nuova tabella dalla casella di riepilogo Nome tabella, quindi scegliere OK. 4. Includere tutti i campi della tabella originale trascinando l'asterisco (*) nella griglia di struttura della query. 5. Fare clic sul pulsante Esegui ( ) sulla barra degli strumenti. 6. Scegliere Sì quando si riceve il messaggio che segnala che si sta per eseguire l'accodamento delle righe. 7. Scegliere Sì quando viene visualizzato il messaggio che segnala che è impossibile accodare tutti i record nella query di accodamento. In tal modo, nella nuova tabella vengono trasferiti solo i record univoci e vengono eliminati i duplicati. 8. Per visualizzare i risultati, scegliere Tabelle dall'elenco Oggetti nella finestra del database e fare clic sul pulsante Apri sulla barra degli strumenti. 9. Quando si è sicuri che la nuova tabella contiene i record univoci corretti, è possibile eliminare la tabella originale e rinominare la nuova tabella utilizzando il nome della tabella originale. AM Presentare valori senza corrispondenze. Un altro tipo di creazione guidata è quella della ricerca di dati non corrispondenti, cioè di dati di una tabella che non hanno corrispondenti in un altra tabella collegata. Per esempio Fornitori a cui non corrispondono articoli nella tabella Articoli o articoli a cui non corrisponde alcun fornitore nella tabella Fornitori. Per creare una query di ricerca dati non corrispondenti procediamo come per la query ricerca duplicati, cliccando sul pulsante Query della finestra del database e poi su Nuovo. Dall elenco scegliamo Creazione guidata query ricerca dati non corrispondenti. Anche qui vengono presentate alcune finestre di dialogo in cui vengono richiesti i dati necessari per la creazione della query. Prima di tutto viene richiesto di selezionare la tabella da cui verranno estratti i record che non hanno corrispondenti nella tabella che verrà selezionata nella seconda schermata. Per il nostro esempio di database scegliamo la tabella Articoli. Nella seconda finestra viene richiesto di selezionare la tabella nella quale verranno cercate le corrispondenze rispetto alla prima tabella. Noi scegliamo la tabella Fornitori. In definitiva vogliamo cercare gli articoli ai quali non corrisponde nessun fornitore. Pagina 50 di 82

51 Nella terza finestra di dialogo viene richiesto di selezionare i campi collegati. Nel nostro caso essi sono ID Fornitore della tabella Articoli e ID Fornitore della tabella Fornitori. Viene richiesto infine quali campi della tabella Articoli devono comparire nella query. Selezioniamoli tutti e salviamo la query con un nome qualunque. Anche in questo caso apriamo la query in visualizzazione struttura per vedere il criterio di selezione che la creazione guidata ha creato. osserviamo che nel campo ID Fornitore della tabella Fornitori nella riga Criteri appare Is Null. Potevamo creare la stessa query in visualizzazione struttura immettendo lo stesso criterio, con lo stesso risultato. Naturalmente è possibile creare una query di ricerca dati non corrispondenti solo se esiste una relazione uno a molti o molti a molti fra le tabelle. AM Presentare l insieme di valori più alti o più bassi in una query. Nell analisi dei dati si può presentare la necessità di avere in elenco solo dati da un certo valore in su o in giù. Tale risultato può essere raggiunto molto semplicemente con una query di selezione utilizzando nei campi numerici gli operatori > (maggiore), < (minore) Between (compreso), come spiegato in altri paragrafi. AM Consentire la definizione dei dati da ricercare attraverso un campo dati (query parametrica) Nella progettazione di un database spesso è necessario estrarre dalle tabelle dati in modo variabile, per cui non è sufficiente creare una sola query con criteri fissi. Ad esempio se vogliamo l elenco delle operazioni di carico e scarico effettuate in un certo intervallo di tempo definito, è sufficiente creare una query col criterio fisso, ma se il periodo è variabile, allora sarebbe opportuno essere interrogati da Access sul periodo desiderato ed estrarre conseguentemente i dati opportuni. Tale possibilità ci viene offerta da una query parametrica. Quando avviamo tale tipo di query, si apre una finestra di dialogo nella quale inserire i dati occorrenti per estrarre dalle tabelle i record opportuni. In una query parametrica si può inserire l operatore LIKE e i caratteri jolly visti in un paragrafo precedente, per cercare ricorrenze testuali; nei campi Data è possibile adoperare l operatore Between per impostare un intervallo di date. Creiamo una query parametrica per cercare tutte le operazioni di carico e scarico di un certo intervallo di tempo. Creiamo nel modo conosciuto una query in visualizzazione struttura, inserendo dalle nostre tabelle i campi come in figura Pagina 51 di 82

52 Per inserire un parametro nei criteri di ricerca (ovvero per inserire un criterio come variabile) occorre farlo inserendo nell espressione l etichetta (cioè la richiesta che verrà visualizzata nella finestra di dialogo), racchiusa fra parentesi quadre. Essa funge da variabile. Per esempio se volessimo cercare i fornitori che cominciano per una certa iniziale dovremmo inserire nel criterio del campo Nome del fornitore la stringa LIKE [Digitare l iniziale] & *. In questo criterio l operatore LIKE deve essere seguito da una stringa che comprenda caratteri jolly. La stringa è costituita dal carattere che verrà immesso alla richiesta, concatenato con *. In definitiva se alla richiesta Digitare l iniziale digitassimo A il criterio diventerebbe LIKE A*. Per impostare il parametro delle date, inseriamo nella riga Criteri del campo Data la stringa Between [Dalla data:] AND [Alla data:], naturalmente senza le virgolette. Eseguiamo la query cliccando sul pulsante Visualizza query ( ) posto in alto a sinistra nella barra degli strumenti. Appare la prima richiesta, nella quale immettere la prima data e poi la seconda richiesta. Cliccando sul pulsante OK verrà visualizzato il risultato della query. Tornare in visualizzazione struttura ricliccando sullo stesso pulsante che nel frattempo è diventato Visualizza Struttura ( ). Si può salvare la query. Tutte le volte che verrà eseguita, appariranno le richieste e l elenco delle operazioni sarà quello voluto. Per evitare errori di immissione dei dati nella finestra di dialogo, è possibile specificare il tipo di dato che deve essere immesso. Nel nostro caso il tipo di dato è Data. Per specificare il tipo di dato da immettere, selezionare, in visualizzazione struttura della query, dal menu Query la voce Parametri Appare la finestra in figura. Pagina 52 di 82

53 Nella colonna Parametro digitiamo il nome del parametro come è stato immesso nel criterio e nella colonna Tipo dati selezioniamo dall elenco a discesa il tipo di dato. Attenzione, i parametri in elenco vengono richiesti tutti, anche se sono stati cancellati dai criteri. Per cui, se un parametro non è più utilizzato, eliminarlo cancellandolo semplicemente dall elenco. Specificato il tipo di dato, se viene inserito un dato non corrispondente viene emesso un messaggio d errore. AM Raffinare query utilizzando Null o Not. Il valore Null e l operatore Not possono essere utili per cercare record in cui in qualche campo non esiste il valore o per escludere dall elenco determinati record. Il valore Null è diverso (lo abbiamo detto in altro paragrafo) da una stringa vuota o da 0. Per rendersene conto basta osservare un campo numerico. In esso il valore 0 è un valore; se non vi è lo zero, né altro valore, il valore contenuto è Null. Durante l immissione dei dati, se il campo non viene riempito, risulta vuoto, ossia vi è un valore Null. Nel nostro esempio di database alcuni articoli non hanno ID Fornitore, in essi esiste il valore Null. Tale valore può essere utilizzato per ricercali o escluderli da un elenco. Per esempio, se vogliamo l elenco dei soli articoli che hanno un fornitore basterà mettere nella riga Criteri del campo ID Fornitore Is Null. Eseguendo la query verranno elencati gli articoli senza fornitore. Inserendo, invece, Is Not Null verranno elencati solo gli articoli che hanno un fornitore L operatore Not può essere adoperato anche in campi testuali. Per esempio se volessimo escludere dalla lista degli articoli, quelli Matita, potremmo utilizzare nel campo Nome il criterio Not LIKE Matita*. AM5.3 Progettazione di una maschera o form. Se le tabelle sono il nucleo fondamentale del database e le query il mezzo necessario per reperire i dati, le maschere costituiscono l oggetto più importante per interagire con i dati delle tabelle. Le maschere sono utili a chi gestisce direttamente il database e sono essenziali per creare un interfaccia per utenti non esperti di Access. Le maschere possono essere semplici, nel senso che contengono una sola tabella, ma anche molto più complicate e utili quando contengono dati provenienti da Pagina 53 di 82

54 diverse tabelle. La maschera permette di aggiornare dati di tabelle diverse contemporaneamente. Le maschere possono servire a diversi scopi: Immettere dati nelle tabelle sottostanti Presentare menu di scelte per aprire altre maschere o query o tabelle Come finestra di dialogo per accettare informazioni dall utente. Esiste in Access, naturalmente, la creazione guidata delle maschere, ma, se si vuol progettare una interfaccia utente complessa, occorre capire il funzionamento degli elementi che le costituiscono, ovvero dei controlli. AM5.3.1 Controlli. I controlli sono tutti gli elementi che costituiscono una maschera, ovvero le etichette e le caselle in cui compaiono i dati delle tabelle, immagini ed elementi decorativi. Tutte le volte che apriamo una maschera in visualizzazione struttura appare la Casella degli Strumenti, in cui sono presenti tutti i controlli disponibili. Ad essa faremo riferimento nei paragrafi successivi. I controlli sono parte essenziale della programmazione a oggetti qual è Visual Basic for Application che è alla base di Access e delle altre applicazioni Office. Gli oggetti, di cui i controlli fanno parte, hanno Proprietà che possono essere impostate. In termini più semplici diciamo che esiste la classe dei quadrilateri, ma se specifichiamo che i quattro lati sono uguali stiamo parlando di un quadrato. Se poi specifichiamo le dimensioni stiamo parlando di quel quadrato. Bene, impostare le proprietà degli oggetti significa specificarne le caratteristiche e il comportamento. In Access le proprietà dei controlli possono essere impostate senza programmazione, utilizzando semplicemente la scheda delle proprietà. Lo scopo dei paragrafi successivi è quello di imparare a creare controlli che abbiano una certa funzione e un certo comportamento, allo scopo di progettare maschere che rendano semplice la gestione dei dati delle tabelle. Descriviamo di seguito i controlli e i pulsanti presenti nella casella degli strumenti della figura precedente. Selezione Oggetti ( ). Quando è attivo permette di selezionare un oggetto della maschera o un gruppo di oggetti. Creazione guidata controllo ( ). Cliccando su di esso dopo aver selezionato un controllo, inizia una creazione guidata per assegnargli le proprietà necessarie. Etichetta ( ). Permette di inserire in una maschera un Controllo Etichetta. Casella di testo ( ).Permette di inserire in una maschera un Controllo Casella di testo. Essa accoglie un dato di un campo della tabella o dati non associati a tabelle. Gruppo di Opzioni ( ). E una cornice che permette di contenere controlli che costituiscono un gruppo come i Pulanti di opzione. Pagina 54 di 82

55 Interruttore ( ). E un pulsante che funziona in On/Off. Serve per permettere o meno operazioni o per altri scopi. Pulsante di Opzione ( ). Permette di scegliere una sola fra molte opzioni. Casella di controllo ( ). Permette di selezionare più opzioni fra molte. Casella combinata ( ). Permette di scegliere da un elenco a discesa o di immettere un dato come una casella di testo. Casella di riepilogo ( ).Permette di scegliere da un elenco. Pulsante di comando ( ). Permette di associargli un azione, come aprire una maschera o nasconderla, o altro. Immagine ( ). Può contenere un immagine. Cornice oggetto non associato ( ). Può contenere un oggetto esistente come file oppure da creare direttamente con una applicazione. L oggetto può essere per esempio un foglio Excel o un suono o altro. Cornice oggetto associato ( ). Contiene un oggetto associato a un campo di tipo OLE di una tabella. Interruzione di pagina ( ). Serve a introdurre una interruzione di pagina in maschere molto lunghe. Nella finestra appare la barra di scorrimento che permette di passare da una pagina all altra. Struttura a schede ( ). Finestra di dialogo a più schede per richiesta informazioni. Sottomaschera ( ). Permette di creare sottomaschere dipendenti dalla maschera principale. Linea e Rettangolo ( ). Elementi decorativi o di raggruppamento. Altri controlli ( ). Si accede ad un elenco molto vasto di controlli presenti in Visual Basic for Application. I controlli vanno inseriti sulla form, ovvero nello spazio che apparirà sullo schermo quando la maschera viene attivata. Essi vanno distribuiti in modo che sia intuitivo il loro uso. Le form possono essere stampate. In esse troviamo una intestazione di maschera, che apparirà una volta soltanto nella sua stampa, una intestazione di pagina, che apparirà in ogni pagina, il corpo in cui metteremo i controlli e infine piè di pagina e piè di maschera. Le intestazioni e la finestra delle proprietà della Pagina 55 di 82

56 maschera possono essere visualizzate dal menu Visualizza. Il dimensionamento dei controlli e della maschera si effettua, al solito modo, ovvero trascinando i bordi col mouse. Un controllo si inserisce cliccando sulla sua icona nella Casella degli strumenti e disegnandola sulla maschera trascinando il mouse. AM Creare controlli associati e non associati. Per sperimentare l uso dei controlli nelle maschere, creiamo una maschera per l inserimento delle operazioni di carico e scarico del nostro database Magazzino. La progettazione della maschera è un punto importante, in quanto essa sarà l interfaccia con l utente finale, il quale, come detto altrove, potrebbe non avere alcuna conoscenza di Access. Per lui, quindi, le operazioni da compiere devono essere semplici e intuitive. Distinguiamo prima di tutto fra controlli associati e non associati. Un controllo è associato quando è collegato ad una fonte di dati (in genere una tabella o una query) da cui proviene il dato che in esso compare; non è associato un controllo nel quale possiamo inserire dati a piacimento. Tipico controllo associato è una casella di testo in cui compare, per esempio, il nome dell articolo; un controllo non associato è, per esempio, un immagine (ad esempio il logo dell azienda), una linea di separazione, una etichetta etc. Possiamo controllare se possiamo associare un controllo ad una origine di dati andando a cercare nella scheda Dati della finestra Proprietà, che può essere visualizzata, selezionando il controllo e cliccando sul menu Visualizza / Proprietà oppure cliccando col pulsante destro del mouse e scegliendo Proprietà dal menu a discesa che si apre. In un controllo non associabile la scheda Dati risulta vuota. Uno dei controlli associabili più utilizzato è senz altro la Casella di testo, che possiamo associare ad un campo di una tabella o query, o che possiamo utilizzare per inserire espressioni per effettuare calcoli. Cominciamo a creare la nostra maschera cliccando sul pulsante Maschere della finestra del database e poi su Nuovo. Dall elenco selezioniamo Visualizzazione struttura. Appare la maschera vuota. Allarghiamo la finestra e la zona maschera fino a dimensioni opportune. Visualizziamo Intestazione maschera e Piè di maschera dal menu Visualizza. In alto a sinistra della barra degli strumenti vi è il pulsante Visualizza. Pagina 56 di 82

57 Esso risulta utile per passare rapidamente da Visualizzazione struttura a Visualizzazione maschera durante la creazione della maschera allo scopo di verificarne i risultati senza chiudere la visualizzazione struttura. Nella zona Intestazione maschera inseriamo un controllo Etichetta. Per questo primo controllo descriviamo tutte le operazioni manuali da effettuare. Per i successivi le daremo per scontate. clicchiamo sull icona Etichetta ( ) nella Casella degli strumenti esaminata nell introduzione trasciniamo il cursore del mouse (che è diventato crocetta) nella zona Intestazione maschera, fino a dimensione opportuna clicchiamo all interno della etichetta creata per entrare in modalità modifica (cursore a I) digitiamo Operazioni di Carico e Scarico clicchiamo ora col pulsante destro del mouse e selezioniamo Proprietà dal menu a discesa oppure clicchiamo sul menu Visualizza / Proprietà nella scheda Formato scegliamo il tipo di carattere, le sue dimensioni e il grassetto nelle rispettive caselle adattiamo le dimensioni della etichetta. Eventualmente, mediante il copia e incolla duplicare l etichetta e cambiare i colori e, infine, sovrapponendole dare un effetto ombra. Sempre nell Intestazione maschera inseriamo una Casella di testo. Quando si crea un controllo contenitore, viene creata contemporaneamente la sua etichetta. Nell etichetta digitare Data: e nella casella di testo =Date(). In questo modo abbiamo creato un controllo non associato a tabelle, ma che contiene una funzione che fornisce la data attuale. Controllo ed etichetta si possono spostare indipendentemente agganciandole per le asole in alto a sinistra. Possiamo cliccare sul pulsante Visualizza maschera ( apparire come in figura. ) per controllare il lavoro, che dovrebbe Torniamo alla visualizzazione struttura ricliccando sul pulsante di prima e passiamo nel corpo della maschera, dove inseriremo tutti i controlli necessari per l immissione dei dati delle operazioni di carico e scarico. Come schema generale occorre inserire, ricordando che abbiamo due tabelle in cui raccogliere i dati delle operazioni, la prima in cui inseriamo l operazione e la seconda in cui inseriamo gli articoli caricati o scaricati con la loro quantità, nella maschera che stiamo costruendo inseriremo i controlli per immettere i dati dell operazione e in una sottomaschera, collegata alla principale, metteremo i controlli per gli articoli e le quantità. Inseriamo nel corpo della maschera un controllo Casella di testo con relativa etichetta per il campo ID Op e un altro controllo Casella di testo per il campo Data dell operazione. Inseriamo un terzo controllo Casella di testo per il campo Presso e infine due Caselle di controllo per i campi Carico e Scarico. Chiamiamo le etichette Codice, Data, Presso, Carico e Scarico e sistemiamo il tutto in alto del corpo della maschera, magari selezionando tutti i controlli tenendo premuto il tasto MAIUSC e allineandoli con la voce di menu Formato / Allinea. Pagina 57 di 82

58 Colleghiamo ora le caselle di testo ai campi delle tabelle; notiamo che nelle caselle per ora vi è scritto Non associata. Occorre innanzitutto collegare la maschera alla tabella di base. Fare doppio click in un punto vuoto della maschera al di fuori del foglio in modo da visualizzare la finestra delle proprietà maschera. Per attivare tale finestra si può procedere anche cliccando col pulsante destro e selezionando il controllo dall elenco a discesa oppure cliccando sulla voce di menu Visualizza / Proprietà. Clicchiamo sulla scheda Dati. Per collegare la tabella alla maschera cliccare sul pulsante con la freccetta in giù a destra della casella Origine record e scegliere dall elenco la tabella Operazioni. Ora possiamo collegare i controlli ai relativi campi. Selezioniamo il controllo e apriamo la finestra Proprietà allo stesso modo di come abbiamo fatto per la maschera clicchiamo sulla scheda Dati. Per collegare la casella al campo della tabella fare click sulla freccetta a destra della casella Origine controllo e scegliere dall elenco il campo. Potremmo anche scrivere direttamente nelle caselle il nome del campo. Colleghiamo tutti i controlli ai relativi campi. A questo punto possiamo provare, cliccando sul solito pulsante Visualizza maschera, il risultato, che dovrebbe essere come in figura. AM Creare, modificare una casella combinata, una casella di riepilogo, una casella di controllo, gruppi di opzioni. Nel paragrafo precedente abbiamo creato etichette e caselle di testo associate e non. Nella finestra delle proprietà possono essere impostate proprietà importanti come maschere di input dei dati, valori predefiniti e formattazioni di caratteri. E Pagina 58 di 82

59 evidente che ciascun tipo di controllo ha le sue proprietà, che derivano dalla funzione che esso ha. Esaminiamo in questo paragrafo alcuni controlli importanti, alcuni dei quali verranno utilizzati in altro paragrafo quando creeremo le sottomaschere. Il controllo Gruppo di opzioni ( ) è una cornice in cui mettere controlli che costituiscono un gruppo. Tipico esempio è il Pulsante di opzione. Questo pulsante permette di effettuare una scelta fra molte. Supponiamo di dover scegliere fra tre possibilità, per esempio bianco, rosso o verde. Questo valore verrà poi utilizzato in una routine di Visual Basic per ottenere azioni o effetti. Useremo tre pulsanti di opzioni. A ognuno di essi è associato un valore. Se questi pulsanti li mettessimo direttamente sul foglio della maschera, essi risulterebbero indipendenti e non sarebbe permessa la scelta. Se essi, al contrario, vengono disegnati in un controllo Gruppo di opzioni, allora essi costituiscono un gruppo, nel senso che ad ognuno di essi è associato un valore (1, 2 e 3) e cliccando su uno di essi vengono disattivati automaticamente gli altri, per cui sapremo in ogni momento quale valore dei tre è attivo. Per creare un gruppo di opzioni, disegnare prima il controllo Gruppo di opzioni e poi all interno di esso il numero di Pulsanti di opzione necessari. Il valore ai pulsanti viene assegnato automaticamente da Access. Nella finestra delle proprietà possiamo impostare le etichette del gruppo di opzioni e dei pulsanti e altre proprietà come nella figura seguente Il controllo Casella di riepilogo ( ) permette di avere un elenco da cui scegliere un dato. L elenco può derivare da una tabella oppure può essere una serie di scelte obbligate. Viene utilizzato in una maschera quando si vuole obbligare l utente a scegliere dall elenco. Per esempio nel database che stiamo creando potremmo avere un elenco fisso di posti o persone presso cui caricare o scaricare gli articoli. Ciò eviterebbe errori di immissione e di digitare ogni volta il posto o la persona. La Casella di riepilogo e la Casella combinata ( ) costituiscono un elenco, magari a più campi, da cui prelevare il dato da inserire nel campo della tabella opportuno. Allora i punti fondamentali sono: stabilire da dove prendere l elenco decidere dove mettere il dato quando si fa click su una riga Ciò è possibile farlo inserendo le scelte giuste nella finestra delle proprietà nei campi Origine controllo, Tipo origine riga, Origine riga e Colonna associata Nel campo Origine controllo possiamo associare il controllo ad un campo della tabella sottostante alla maschera, cioè cliccando sull elenco della Casella di riepilogo il dato relativo sarà memorizzato nel record corrente in quel campo della tabella. Nell esempio in figura il dato verrà memorizzato nel campo Presso. E possibile Pagina 59 di 82

60 lasciare il campo vuoto e in questo modo il controllo non sarà associato alla tabella sottostante alla maschera e il dato può essere conservato per utilizzarlo in una routine Visual Basic. Nel campo Tipo Origine riga possiamo scegliere da dove tirar fuori l elenco del controllo. Esso può provenire: da una tabella o query (come è specificato nell esempio in figura) da un elenco di valori che sarà inserito nel campo successivo (Origine riga) dai nomi dei campi della tabella. Nel campo Origine riga dobbiamo inserire i dati dell elenco o le istruzioni per creare l elenco. Se nel campo precedente abbiamo scelto Elenco di valori, in questo campo possiamo digitare direttamente i valori separati da punto e virgola. Se abbiamo scelto Tabella/Query allora dobbiamo mettere l istruzione SQL che definisce il numero di colonne della lista, ciascuna corrispondente a un campo della tabella da cui estrarre i dati. Nell esempio sopra vengono estratti due campi (ID Op e Presso) e la lista sarà costituita da tutti i record della tabella Operazioni. Nel campo Colonna associata si deve indicare (nel caso fossero più di una, come nel nostro esempio) la colonna da cui cliccando prelevare il dato che sarà immesso nel campo associato nel record corrente. Per evitare errori nel compilare le proprietà della casella di riepilogo si può far proficuamente ricorso alla creazione guidata: attivare il pulsante Creazione guidata controllo ( ) della Casella degli strumenti disegnare il controllo sulla maschera seguire le istruzioni e controllare alla fine le proprietà del controllo Il controllo Casella combinata è insieme una casella di testo e una casella di riepilogo e funziona come la Casella di riepilogo. In più essa accetta anche dati non compresi in elenco. Utilizzeremo le caselle combinate nella creazione della sottomaschera nel nostro database. AM Creare controlli per espressioni aritmetiche o logiche in una maschera. Nella intestazione della maschera che stiamo creando abbiamo inserito una Casella di testo nella quale compare la data odierna. Nello stesso modo in una casella di testo possiamo inserire qualunque espressione che produca un valore. La costruzione dell espressione può essere fatta utilizzando il generatore di espressioni già considerato in precedenza, ma anche digitandola direttamente rispettando, naturalmente la sintassi corretta. La Casella di testo non deve essere associata ad un campo. Facciamo qualche esempio relativo alla nostra maschera. Supponiamo che i pagamenti delle fatture avvengano a novanta giorni dalla data di carico e di voler visualizzare sulla maschera la data di scadenza. Inseriamo una Casella di testo e digitiamo la seguente espressione: =[Data] +90. Formattiamo mediante la scheda delle Proprietà, la casella di testo con formato Data breve e controlliamo il risultato. Supponiamo di voler saper quanti giorni mancano allo scadere del pagamento della fattura. Nella casella di prima digitiamo l espressione =([Data]+90)-Date()) e formattiamola con formato Numero. Allo stesso modo possiamo adoperare tutti gli operatori aritmetici e logici, se gli operandi lo permettono. Pagina 60 di 82

61 AM Impostare l ordine logico dei controlli in una maschera. Da un controllo attivabile ad un altro si passa cliccandoci sopra col mouse, ma anche premendo il tasto tabulazione. In questo caso l ordine con cui viene selezionato il controllo dipende dall indice con cui è contrassegnato. E chiaro, quindi, che stabilendo l indice, possiamo anche determinare l ordine logico. I nostri controlli in cui immettere i dati sono in ordine la Data, Carico o Scarico (o entrambi) e infine Presso. Il campo ID Op è automatico. Per stabilire l ordine logico selezioniamo il controllo in visualizzazione struttura e apriamo al solito modo la finestra Proprietà. Clicchiamo sulla scheda Altre. Troviamo le proprietà che ci interessano. Intanto Tabulazione automatica impostata a Sì significa che inserito nel controllo l ultimo carattere possibile in base alla maschera d input definita, il focus passa automaticamente al controllo successivo. La proprietà Seleziona con tabulazione impostata a Sì permette la selezione col tasto TAB. Infine la proprietà Ordine spostamento determina l ordine. Esso viene inserito automaticamente al momento della creazione del controllo, ma può essere modificato secondo le proprie esigenze. L ordine di spostamento è unico, per cui se abbiamo impostato due controlli allo stesso numero, uno dei due viene cambiato al numero mancante. AM Inserire dei campi dati all interno dell intestazione, del piè di pagina o di tutte le pagine di una maschera. Abbiamo già accennato alle intestazioni e ai piè di pagina. In una maschera possiamo visualizzare, cliccando sulla voce di menu Visualizza: Intestazione di maschera Intestazione di pagina Piè di pagina Piè di maschera Le intestazioni e i piè vanno sempre in coppia. Se non ci interessa l uno o l altro basta trascinare il bordo fino a chiudere lo spazio. Esistono anche le proprietà di intestazione e piè di pagina come per tutti gli altri elementi della maschera. In esse possiamo impostare a Visibile uguale a No la proprietà visibile per eliminare una intestazione o un piè di pagina. Nell Intestazione di maschera e nel Piè di maschera è possibile inserire controlli che raccolgano informazioni relative a tutta la maschera, come il titolo, totali etc.. Esse vengono stampate una sola volta all inizio della prima pagina e alla fine dell ultima. L Intestazione di pagina e il Piè di pagina appaiono soltanto nella stampa della maschera. In esse è possibile inserire controlli che contengano informazioni relative alla pagina, come numero di pagina, totali di pagina etc.. Esse saranno stampate all inizio e alla fine di ogni pagina. Quando una maschera viene stampata, in una pagina vengono inseriti i record che ci entrano. Si può fare in modo che sia stampato anche un record per pagina. Le intestazioni e i piè di pagina e di maschera, insieme con i raggruppamenti, risultano particolarmente utili per inserire nelle maschere e nei report informazioni di carattere generale che non sono contenute direttamente nelle tabelle. Tali informazioni possono essere titoli o etichette, ma anche controlli che contengono calcoli, come somme, medie etc. che si riferiscono a tutta la maschera o alla pagina. Pagina 61 di 82

62 In un paragrafo precedente abbiamo inserito nell Intestazione maschera un controllo con la data odierna. Nel piè di maschera potremmo inserire, nel nostro esempio di database, il conteggio totale dei record. E sufficiente inserire nel piè di maschera una casella di testo e dentro scriverci la funzione =Conteggio([ID Op]). Intestazioni e piè di pagina possono essere inseriti anche nelle sottomaschere, dove funzioni di somma o altro possono risultare molto utili. Ad esempio potremmo inserire il totale degli articoli caricati o scaricati in ogni operazione eseguita. Parleremo di ciò nella sezione successiva quando descriveremo le sottomaschere. AM5.3.2 Sottomaschere. Fra gli strumenti della Casella degli strumenti è presente il controllo Sottomaschera ( ) che consente di inserire con semplicità, in una maschera, un altra maschera dipendente dalla prima. Ciò permette di riunire insieme i dati provenienti da più tabelle collegate fra loro. Nel nostro esempio di database, insieme alla operazione di carico o scarico occorre inserire gli articoli caricati o scaricati e le relative quantità. AM Creare una sottomaschera e collegarla ad una maschera principale. Una sottomaschera viene creata utilizzando lo strumento relativo della Casella degli strumenti. Disegnando sulla maschera la sottomaschera si apre una creazione guidata che ci permette di collegare la sottomaschera alla maschera secondo le nostre esigenze e secondo le relazioni esistenti fra le tabelle. Creiamo la sottomaschera per l immissione dei dati delle operazioni di carico e scarico. Clicchiamo sul controllo Sottomaschera e disegniamola sulla maschera Operazioni di Carico e Scarico in visualizzazione struttura, creata in precedenza. Si apre la prima finestra della creazione guidata Prima di tutto si presenta la possibilità di creare la sottomaschera partendo dalle tabelle esistenti oppure da una maschera esistente, cioè potremmo creare prima la Pagina 62 di 82

63 sottomaschera come se fosse una normale maschera inserendo tutti i campi che vogliamo e utilizzare questa come base per creare la sottomaschera. Seguiamo entrambe le vie; in questo modo sarà più chiaro il funzionamento delle sottomaschere. Scegliamo Usa tabelle e query esistenti e clicchiamo sul pulsante Avanti. Si apre la seconda finestra di dialogo In questa finestra possiamo scegliere i campi delle tabelle che faranno parte della sottomaschera. Sarebbero sufficienti i campi ID Articolo e Quantità della tabella Articoli dell operazione, ma aggiungiamo il campo Nome dell articolo dalla tabella Articoli per chiarezza nell immissione dei dati, anche se tale campo non verrà compilato in fase di immissione. Clicchiamo sul pulsante Avanti. Pagina 63 di 82

64 Nella finestra che si apre dobbiamo scegliere il legame fra la sottomaschera e la maschera principale. Nel nostro caso il legame è ID Op della tabella Operazioni e ID Op della tabella Articoli dell operazione. Clicchiamo sul pulsante Avanti e arriviamo all ultima finestra in cui diamo il nome alla sottomaschera. Tale nome apparirà nella maschera principale. A questo punto viene creata la sottomaschera. Dimensioniamola in modo opportuno trascinando i bordi. Il risultato dovrebbe essere quello in figura. Pagina 64 di 82

65 Cliccando sul solito pulsante Visualizza Maschera possiamo vedere l anteprima La seconda modalità per creare la sottomaschera è Usa una maschera esistente. L elenco delle maschere appare nella lista sottostante; in essa appare la nostra maschera se l abbiamo creata in precedenza con una creazione guidata o in visualizzazione struttura. Allora creiamo prima la maschera da usare poi come sottomaschera. Nella maschera dobbiamo inserire campi di più tabelle. Per far ciò, nel creare la maschera, possiamo partire in visualizzazione struttura da una query creata ad hoc o, più semplicemente, crearla con una creazione guidata. Per semplicità operiamo nel secondo modo: facciamo doppio click su Crea una maschera mediante una creazione guidata. Nella finestra di dialogo di inserimento dei campi inseriamo nell ordine ID Articolo e Quantità della tabella Articoli dell operazione e il campo Nome della tabella Articoli. Inseriamo anche il campo ID Op che collega la sottomaschera alla maschera principale. Completiamo la creazione scegliendo Foglio dati come tipo di maschera. Il risultato dovrebbe essere quello in figura. Salviamo la maschera con un nome adeguato. Torniamo alla creazione guidata della sottomaschera e scegliamo dall elenco delle maschere la maschera appena creata. Clicchiamo sul pulsante Avanti fino alla fine della creazione. L anteprima dovrebbe risultare come in figura. La visualizzazione di una maschera, e quindi anche della sottomaschera può essere Foglio dati e Maschera. Le visualizzazioni possono essere scelte nella scheda Formato della finestra delle proprietà selezionando la maschera cliccandoci sopra Pagina 65 di 82

66 in un punto in cui non siano presenti controlli. Nella visualizzazione Foglio dati i dati sono raccolti in tabella. In questo modo è più facile modificare o immettere nuovi record. Nella visualizzazione Maschere continue si può ottenere lo stesso risultato, ma le celle sono Caselle di testo. In questa visualizzazione si possono nascondere campi che non interessano e inserire totali relativi alle colonne o altri calcoli nel piè di maschera. Vedremo tutto ciò nel paragrafo successivo. AM Modificare le sottomaschere per cambiare i record visualizzati. Nella sottomaschera possono essere modificati i dati presenti e possono essere aggiunti o eliminati altri record. Nel nostro esempio basta inserire i dati ID Articolo e Quantità; ID Op verrà inserito automaticamente e Nome verrà prelevato automaticamente dalla tabella Articoli collegata alla tabella Articoli dell operazione. Nel piè di maschera possiamo inserire campi calcolati. Questi campi appariranno soltanto nella visualizzazione Maschera o Maschere continue della sottomaschera. Proviamo a inserire nella maschera creata prima un totale degli articoli caricati o scaricati. Apriamo la maschera in visualizzazione struttura. Selezioniamo la sottomaschera cliccando in un punto esterno alla zona del foglio dove sono posizionati i controlli, magari utilizzando i cursori della finestra, e apriamo la finestra delle proprietà da Visualizza / Proprietà o cliccando col pulsante destro del mouse e poi su Proprietà. La finestra Proprietà Maschera permette di scegliere il tipo di visualizzazione. Scegliamo Maschere continue dall elenco Visualizzazione predefinita. Allarghiamo la zona del piè di maschera tanto da contenere un controllo Casella di testo e inseriamo tale controllo sotto alla colonna Quantità. Nella etichetta scrivere totale e nella casella =somma([quantità]). Infine rendiamo invisibile il campo ID Op. Selezioniamo la casella di testo e apriamo la finestra delle proprietà al solito modo. Poniamo a No il campo Visibile. Se tutto è stato fatto correttamente, il risultato dovrebbe essere quello in figura. Pagina 66 di 82

67 AM5.4 Progettazione di un report. Un report è simile a una maschera, ma è dedicato soprattutto alla presentazione e stampa dei dati. Un report permette di: aggiungere un logo o un immagine creare etichette postali raggruppare i record in categorie calcolare totali mostrare i dati in un grafico I report possono essere associati a tabelle o query e non associati. Essi sono costituiti da controlli, quali Etichette e Caselle di testo, e elementi decorativi, quali linee, figure, immagini. Come nelle maschere e nelle query, anche nei report possono essere inseriti campi calcolati. Per i report associati vi è sempre una o più tabelle sottostanti da cui vengono prelevati i dati. Se alla base del report vi sono più tabelle è conveniente creare prima una query di selezione e usarla come base del report. Abbiamo detto che il report è destinato alla stampa. La sua progettazione, quindi, deve tendere al raggruppamento dei dati e alla esaltazione grafica degli elementi interessanti. Un report, per esempio, potrebbe essere destinato alla stampa di risultati di analisi cliniche; è evidente in questo caso quanto sia importante la chiarezza di presentazione dei dati stessi. Un report può essere creato in diversi modi. Cliccando su Report nella finestra del database e poi su Nuovo si presentano le possibili scelte. Si può partire dalla struttura e inserire i controlli e gli elementi decorativi necessari oppure ricorrere a una creazione guidata. Si possono creare anche report standard in cui è preimpostata la formattazione. Allo scopo di chiarire tutti i passaggi della creazione di un report, creiamone uno che riporti le operazioni di carico e scarico di un certo periodo a piacere con i totali in euro per ogni operazione e il totale complessivo alla fine del report. Innanzitutto creiamo la query di selezione sottostante inserendo i campi necessari in visualizzazione struttura o utilizzando una creazione guidata. Inseriamo anche il criterio per il periodo richiesto in forma parametrica (di questo parleremo in un paragrafo successivo). Il risultato dovrebbe essere il seguente. Pagina 67 di 82

68 Salviamo la query col nome Query-Report. Questa query alla base del report permetterà di raggruppare per ogni operazione di carico o scarico i relativi articoli con prezzi e quantità su cui effettuare totali e altri calcoli. Seguiamo passo passo la creazione del report in modo da capire il funzionamento dei vari elementi del report. Naturalmente in fase di progettazione è più conveniente seguire la creazione guidata e modificare, all occorrenza, il report in visualizzazione struttura, ma rimane fondamentale la creazione della query che è alla base. Apriamo un nuovo report in visualizzazione struttura cliccando sul pulsante Report della finestra del database e poi su Nuovo. Selezioniamo dall elenco Visualizzazione struttura e scegliamo nella casella combinata Scegliere la tabella o la query, come base del report la query creata in precedenza. Si apre la struttura del report e l elenco dei campi della query, a cui si può accedere anche attraverso il pulsante Elenco campi ( ) della barra degli strumenti. L organizzazione del nostro report deve essere tale da mostrare una volta il codice, la data e gli altri elementi dell operazione e sotto l elenco degli articoli caricati o scaricati con l operazione. Occorre creare perciò un Raggruppamento dei dati appartenenti alla stessa operazione. I raggruppamenti già presenti nella struttura Pagina 68 di 82

69 del report sono Intestazione report, Intestazione pagina. All interno della pagina possiamo creare raggruppamenti per i dati. Clicchiamo sul pulsante Ordinamento e Raggruppamento ( ) o sul menu Visualizza / Ordinamento e Raggruppamento. Si apre la relativa finestra. Nella casella Campo o Espressione scegliamo il campo ID Op. Poniamo a Sì i campi Intestazione(gruppo) e Piè di pagina(gruppo), che verranno utilizzati per inserire i totali. Visualizziamo, se non lo fossero già, anche Intestazione report e Piè di pagina report dal menu Visualizza. A questo punto la struttura dovrebbe apparire come in figura. Abbiamo a disposizione tutte le zone in cui inserire i dati e i campi calcolati. Poniamo attenzione ai piè di pagina. In essi si possono inserire controlli non associati contenenti funzioni come numero di pagina, data e altro e calcoli che agiscono sulle colonne contenute nel rispettivo raggruppamento; ad esempio inserendo l espressione =somma([quantità]) nel nel Piè di pagina ID Op verrà calcolata la somma per ogni gruppo ID Op, inserendola nel Piè di pagina pagina, la somma sarà calcolata sul contenuto della pagina e infine inserendola nel Piè di pagina report la somma sarà calcolata alla fine su tutto il report. Pagina 69 di 82

70 Nella Intestazione di pagina inseriamo le etichette dei campi delle operazioni: ad esempio Codice, Data, Carico, Scarico, Presso. Queste etichette appariranno una volta in ogni pagina. Potremmo inserire tali etichette nella Intestazione ID Op al di sopra dei campi. In questo caso esse appariranno in ogni operazione di carico o scarico. Nella Intestazione ID Op inseriamo le Caselle di testo associate ai campi relativi alle etichette messe nel punto precedente. Tali caselle possono essere inserite dalla Casella degli strumenti e poi impostando le proprietà come visto nella creazione delle maschere, oppure, meglio, semplicemente trascinandole dall Elenco campi nell intestazione. Viene, comunque, creata anche l etichetta relativa provvisoria, che occorre eliminare col tasto CANC dopo averla selezionata, poiché le etichette relative le abbiamo già inserite. Sempre nell Intestazione ID Op inseriamo le etichette relative ai campi degli articoli dell operazione, ad esempio: Articolo, Quantità, Prezzo, Fornitore. In questo modo tali etichette compariranno in testa ad ogni gruppo di articoli. Nel Corpo inseriamo le Caselle di testo associate ai campi degli articoli dell operazione. Esse possono essere create, come per le altre viste prima, attraverso le proprietà o trascinandole dall Elenco campi. A questo punto, a parte abbellimenti o inserimento di campi accessori che vedremo nei paragrafi seguenti, il nostro report, ancora molto scarno, è pronto per funzionare. La sua struttura dovrebbe apparire come in figura. Per vedere l effetto cliccare sul pulsante Anteprima ( ). L effetto è un po scadente e ci rendiamo conto che occorre mettere in evidenza le diverse parti. Ciò possiamo farlo adoperando per i carattere colori diversi o grassetti e linee. In definitiva tutte le etichette possono essere formattate a piacere e le caselle di testo impostate come formato. Per esempio impostiamo la casella Prezzo in formato euro dalla finestra delle Proprietà, che si apre, dopo avere selezionato la casella, dal menu Visualizza / Proprietà o cliccando col destro e scegliendo dall elenco. I controlli possono essere allineati selezionandoli tutti, tenendo premuto il tasto MIUSC e cliccando sul menu Formato / Allinea. AM5.4.1 Calcoli. Nei piè di pagina di ciascun raggruppamento, ma anche altrove, si possono inserire campi calcolati. Come già detto in precedenza il calcolo viene eseguito sul raggruppamento individuato dal piè di pagina. Pagina 70 di 82

71 AM Creare controlli di espressioni aritmetiche o logiche in un report. Possiamo inserire, per esempio, espressioni aritmetiche e logiche laddove i dati lo permettano. Inseriamo, nel nostro report, un campo che calcoli il totale in euro per ogni articolo di una operazione. In altri termini dobbiamo inserire fra la casella Prezzo e la casella Fornitore, una Casella di testo con l espressione =[Quantità]*[Prezzo] e formattarla come euro. Tale campo ci servirà per il calcolo dei totali. Il Corpo del report, dovrebbe apparire come in figura. Naturalmente inseriamo nel posto giusto anche la relativa etichetta. AM Effettuare calcoli di percentuale in un controllo di calcolo di un report. Nel controllo Casella di testo possiamo inserire, come detto altre volte, qualunque tipo di calcolo che abbia senso. Per esempio se i nostri prezzi sono IVA esclusa, potremmo inserire una Casella di testo accanto alla casella Quantità, che ci dia i prezzi ivati. Supponendo che l IVA e del 20%, la espressione che occorre inserire al suo interno sarà =[Quantità]*1,20. AM Utilizzare formule ed espressioni in un report: somma, conteggio, media, massimo, minimo, concatenazione. Proviamo ora a inserire i totali nei piè di pagina. Per ottenere un totale sul gruppo dobbiamo, come detto altrove, inserire la casella di testo con la funzione nel piè di pagina del gruppo su cui operare. Inseriamo, quindi, la somma dei totali parziali di una operazione nel Piè di pagina ID Op per ottenere il totale dell operazione. Inseriamo una Casella di testo sotto la colonna Totali. Nella etichetta digitiamo Totale dell operazione e nella casella inseriamo l espressione =somma([quantità]*[prezzo]). Cliccare sul pulsante Anteprima per vedere il risultato. La stessa casella con la stessa formula possiamo inserirla nel Piè di pagina report per ottenere alla fine il totale generale di tutte le operazioni del report. In modo esattamente analogo possiamo inserire calcoli per la media, massimo e minimo, che come già sappiamo operano su gruppi di dati. L operazione di concatenazione consiste nell unire stringhe diverse in un unica stringa. Sappiamo che l operatore di concatenamento è il simbolo &. Un esempio di concatenamento di stringhe lo vedremo in un paragrafo successivo. AM Creare dei riassunti dinamici in un report. Un report basato sulle tabelle fornisce l elenco completo del contenuto delle tabelle. Ciò il più delle volte non serve. Molto più utili sono i report che forniscano elenchi o riassunti dei dati in base alle nostre necessità. Ad esempio si potrebbe volere un elenco delle operazioni di carico dei soli fornitori di Lecce oppure delle operazioni fatte in un certo intervallo di tempo. Pagina 71 di 82

72 Un modo semplice per ottenere riassunti dinamici è quello di utilizzare come base del report una query parametrica, di cui abbiamo discusso in altri paragrafi. All inizio di questa sezione abbiamo parlato del criterio da inserire nella query. Sappiamo che per inserire nei criteri di selezione di una query un valore variabile occorre mettere in parentesi quadra il nome della variabile e inserire tale nome nell espressione richiesta. Nel nostro caso vogliamo che prima di visualizzare il report ci venga richiesta la data di inizio e quella di fine intervallo. Allora nella casella dei criteri del campo Data inseriamo il criterio Between [Data Inizio Periodo:] And [Data di Fine periodo:]. Tutte le volte che apriremo il report, viene eseguita la query e, quindi, vengono richieste le date di inizio e fine. Una volta creato il report, il criterio nella query può essere modificato e il report risponderà ai nuovi criteri, in quanto la query non viene salvata nella struttura del report, ma viene eseguita ogni volta che viene eseguito il report. Criteri dinamici possono essere inseriti anche mediante maschere di dialogo, ma ciò non verrà esaminato in questa sede. AM5.4.2.Presentazione. AM Inserire un campo dati all interno dell intestazione, del piè di pagina della prima pagina o di tutte le pagine di un report. Abbiamo inserito nel nostro report i campi essenziali e abbiamo creato il corpo del report. Naturalmente in un report dovranno esserci anche tutti quegli elementi utili ad una corretta presentazione dei dati. Cominciamo con l inserire nell Intestazione report un titolo; per esempio Lista delle operazioni dal al. Ciò può essere fatto disegnando un controllo Etichetta dalla Casella degli strumenti e scrivendoci dentro il testo. Il testo può essere formattato a piacere nei modi conosciuti oppure si può scegliere una formattazione automatica per tutto il report da Formato / Formattazione automatica. Il testo dell intestazione report apparirà solo nella prima pagina del report. Naturalmente al posto dei puntini occorre mettere le date di inizio e fine. Queste possiamo prenderle direttamente dai parametri della query sottostante al report da funzioni per il minimo e il massimo della data. Nel primo caso creiamo prima una etichetta Lista delle operazioni dal. Accanto inseriamo una Casella di testo con la espressione =[Dal:], che è il parametro che abbiamo inserito nella query. Mettiamo ancora accanto un altra etichetta al e infine un altra Casella di testo con l espressione del secondo parametro =[Al:]. Il risultato sarà che nell intestazione comparirà l intervallo voluto anche se in elenco non vi sono operazioni con quelle date. Se al posto dei parametri inseriamo le espressioni =Min([Data]) e =Max([Data]) nell intestazione appariranno la data più bassa presente in elenco e quella più alta. Dato il funzionamento dei raggruppamenti è chiaro che i campi inseriti possono apparire a nostro piacimento. Se vogliamo che il campo compaia solo nella prima pagina dovremo inserirlo nell intestazione di report, se vogliamo che appaia in tutte le pagine dovremo inserirlo nell intestazione di pagina, se vogliamo, infine, che compaia in tutti i gruppi dovremo inserirlo nell intestazione di gruppo. Proviamo a inserire qualche campo calcolato nel Piè di pagina pagina. In esso potremmo mettere per esempio il numero di pagina ed eventuali totali di pagina. In visualizzazione struttura clicchiamo sul menu Inserisci / Numeri di pagina. Si apre la finestra di dialogo Pagina 72 di 82

73 nella quale possiamo scegliere il formato, la posizione e l allineamento. Lo stesso risultato può essere raggiunto anche senza questa creazione guidata, usando caselle di testo con dentro le espressioni occorrenti. Nella lista seguente, presa dalla guida in linea di Access, sono riportate le espressioni, le funzioni e il risultato. Espressione Risultato =[Page] 1, 2, 3 ="Pagina " & [Page] Pagina 1, Pagina 2, Pagina 3 ="Pagina " & [Page] & " di " & [Pages] Pagina 1 di 3, Pagina 2 di 3, Pagina 3 di 3 =[Page] & " di " & [Pages] & " Pagine" 1 di 3 Pagine, 2 di 3 Pagine, 3 di 3 Pagine =[Page] & "/"& [Pages] & " Pagine" 1/3 Pagine, 2/3 Pagine, 3/3 Pagine =[Country] & " - " & [Page] UK - 1, UK - 2, UK - 3 =Format([Page], "000") 001, 002, 003 Più interessante è inserire alla fine del report un calcolo per ottenere l esistenza in euro delle operazioni in lista e cioè la differenza in euro fra tutte le operazioni di carico e le operazioni di scarico. Facciamo questo calcolo e vedremo così, come possono essere adoperati criteri all interno delle espressioni. Inseriamo nel Piè di pagina report una casella di testo. Nell etichetta digitiamo Esistenza: e nella casella inseriamo l espressione =somma([quantità]*[prezzo]*([carico]=vero)- somma([quantità]*[prezzo]*([scarico]=vero) La condizione fra parentesi tonda fa in modo che durante la somma dia 0 se il risultato è falso e 1 se il risultato è vero; in altri termini l espressione calcola il totale per le operazioni di carico, il totale per quelle di scarico e ne fa la differenza. Pagina 73 di 82

74 Resoconti diversi possono essere ottenuti usando alla base del report query a campi incrociati. AM Forzare interruzioni di pagina su gruppi all interno di un report. Se nel report è presente più di un gruppo, possiamo utilizzare il controllo Interruzione di pagina per forzare il cambio pagina in modo che il gruppo successivo sia stampato su un altra pagina. Per far ciò è sufficiente disegnare il controllo all interno del piè di pagina del gruppo che si vuole separare, cliccando sul pulsante del controllo Interruzione di pagina ( ) e inserendolo poi nel punto desiderato. In ogni caso controllare sempre il risultato attivando l anteprima del report. M5.5 Macro. Le macro consentono di effettuare con facilità operazioni semplici come aprire e chiudere le maschere, visualizzare e nascondere le barre degli strumenti ed eseguire i report. È inoltre necessario utilizzare le macro per: Eseguire assegnazioni di tasti globali. Eseguire un'azione o una serie di azioni quando un database viene aperto per la prima volta. È possibile tuttavia utilizzare la finestra di dialogo Avvio affinché vengano eseguite determinate operazioni quando si apre un database, come aprire una maschera. In essa è possibile collocare pulsanti di comando programmati per le stesse operazioni. Visual Basic for Application permette di scrivere codice di programmazione da associare ad eventi, come click, doppio click etc., di molti controlli compresi i pulsanti e quindi permette di automatizzare le operazioni e rendere al limite Access trasparente ad un utente finale, il quale potrebbe non conoscere alcun elemento di Access. Le macro possono essere sostituite da routines Visual Basic. E necessario utilizzare Visual Basic, invece, se si desidera: facilitare la gestione di un database, creare funzioni personalizzate, sostituire i messaggi di errore, creare o manipolare oggetti, eseguire azioni a livello di sistema, manipolare i record uno alla volta, passare argomenti alle routine Visual Basic. Nel seguito tratteremo delle macro, ma non di Visual Basic. AM5.5.1 Registrazione e associazione. Anche per le macro esiste la visualizzazione struttura in cui è possibile stabilire il nome e le azioni che essa deve eseguire. Non esiste una creazione guidata come per le maschere e i report. Cliccando sul pulsante Nuovo della scheda Macro della finestra del database si apre la finestra della visualizzazione struttura. La stessa finestra si apre cliccando sul pulsante Struttura se è stata selezionata una macro esistente. Le macro possono essere singole o gruppi di macro. Le macro singole svolgono le azioni a cui sono destinate. Più macro che svolgono azioni collegate costituiscono un gruppo. A tale gruppo si può dare un nome, che comparirà nell elenco delle macro; eseguendo la macro con tale nome vengono eseguite tutte le macro del gruppo. Ad esempio una macro singola potrebbe aprire una maschera per l immissione dei dati. Se abbiamo bisogno che contemporaneamente venga nascosta una barra di strumenti possiamo creare un gruppo di due macro, la prima per l apertura della maschera e la seconda per nascondere la barra; eseguendo questo gruppo le due azioni vengono eseguite contemporaneamente. Pagina 74 di 82

75 AM Registrare una semplice macro (ad esempio, chiudere una maschera). Una macro in Access non viene creata, come nelle altre applicazioni di Office, cliccando sul pulsante Registra ed eseguendo le operazioni da registrare, ma viene creata direttamente in visualizzazione struttura, la cui finestra si apre nel modo seguente: click sul pulsante Macro della finestra del database click sul pulsante Nuovo Se vogliamo creare un gruppo di macro cliccare ancora sul menu Visualizza / Nomi macro. Le finestra delle strutture relative sono quelle in figura Per creare una macro occorre scegliere le azioni che essa dovrà compiere nella colonna Azione. Possiamo inserire nella colonna Commenti un commento che ci ricordi la funzione della macro. Scelta la prima azione, in basso compare un elenco di proprietà che occorre impostare. Per esempio per l apertura di una maschera si deve scegliere la maschera da aprire, la modalità in cui aprirla, per esempio struttura o anteprima di stampa, il nome di un eventuale filtro, definire, se occorre, un criterio di selezione dei dati, la modalità di immissione dei dati, per esempio modifica o sola lettura, la modalità di visualizzazione della finestra. Si può proseguire scegliendo le azioni seguenti. Eseguendo la macro verranno eseguite tutte le azioni elencate. Per creare un gruppo di macro occorre visualizzare i nomi macro cliccando sul menu Visualizza / Nomi macro. Alla finestra precedente si aggiunge la colonna Nomi macro. Funziona in questo modo: nella colonna Nomi macro scriviamo il nome della macro nella colonna Azione scegliamo l azione che la prima macro deve svolgere e definiamo i parametri in basso alla finestra ripetiamo nella colonna Azione la scelta di un altra azione e così via, senza immettere nella prima colonna altro nome si può proseguire creando altri gruppi di macro allo stesso modo Tutte le macro verranno salvate come gruppo. Pagina 75 di 82

76 Nella figura il gruppo Gruppo contiene tre macro, la Macro1 contiene due azioni, anche Macro2 contiene due azioni mentre la Macro3 una sola. L esecuzione di una macro può essere associata a un pulsante di comando. Per eseguire tutte le macro del gruppo basta associare il gruppo, per eseguire una delle macro del gruppo occorre specificare il nome del gruppo e il nome della macro separati da un punto, ad esempio Gruppo.Macro2. Come esempio creiamo una semplice macro che apra contemporaneamente la maschera Operazioni e la tabella Fornitori. Clicchiamo su Macro della finestra del database e poi su Nuovo. Si apre la visualizzazione struttura. Nella colonna Azione scegliamo ApriMaschera Come Nome Maschera scegliamo la maschera Operazioni creata nei paragrafi precedenti Come Visualizza scegliamo Maschera. Possiamo lasciare gli altri campi invariati Nella colonna Azione scegliamo ApriTabella Come Nome Tabella scegliamo la tabella Fornitori Come Visualizza scegliamo Foglio Dati. Possiamo lasciare gli altri campi invariati Chiudiamo la macro cliccando sul pulsante di chiusura e dandogli il nome Operazioni. Ora la macro compare nell elenco delle macro AM Eseguire una macro. L'esecuzione di una macro viene avviata dall'inizio, continua con l'esecuzione di tutte le azioni fino a quando non viene raggiunta un'altra macro (se la macro è in un gruppo di macro) oppure la fine della macro. Vi sono vari modi per eseguire una macro: 1. direttamente, cliccando sul pulsante Esegui ( ) o sul menu Strumenti / Macro / Esegui macro. 2. dall'interno di un'altra macro scegliendo come azione Esegui macro. 3. da una routine evento oppure in risposta a un evento che si verifica in una maschera o in un report o in un controllo di una maschera o di un report 4. è possibile collegare una macro a un pulsante di comando presente in una maschera in modo che la macro venga eseguita quando l'utente fa clic su di esso. Vedremo un esempio nel prossimo paragrafo. 5. è possibile creare un comando di menu personalizzato o un pulsante della barra degli strumenti che esegue una macro inserendo il pulsante cliccando su Visualizza / Barre degli strumenti / Personalizza. 6. assegnando a una macro una combinazione di tasti. Per far ciò occorre creare, nel modo visto prima, un gruppo di macro e chiamarlo Autokeys. I nomi delle macro contenute nel gruppo devono essere tasti o gruppi di tasti scritti con la corretta sintassi. Salvato il gruppo si possono adoperare le combinazioni dei tasti per avviare la macro relativa. Le combinazioni sono le seguenti: Pagina 76 di 82

77 Sintassi ^A oppure ^4 {F1} ^{F1} +{F1} {INS} ^{INS} +{INS} {CANC} ^{CANC} +{CANC} Combinazione di tasti CTRL+ qualsiasi tasto alfanumerico Qualsiasi tasto funzione CTRL+ qualsiasi tasto funzione MAIUSC+ qualsiasi tasto funzione INS CTRL+INS MAIUSC+INS CANC CTRL+CANC MAIUSC+CANC 7. eseguendo automaticamente una macro all'apertura di un database. E sufficiente creare una macro con le azioni necessarie e salvarla col nome Autoexec. All apertura del database viene cercata la macro con questo nome e, se esiste, viene eseguita. AM Associare/collegare una macro ad una maschera, ad un report o ad un controllo. Le maschere, i report e i controlli hanno tutti una scheda fra quelle della finestra delle proprietà, che permette di controllare gli eventi, cioè le azioni che si compiono su di essi, per esempio click e doppio click del mouse, pressione di un tasto, apertura e chiusura della maschera o del report etc. A ciascuno di questi eventi è possibile associare l apertura di una macro, la quale può contenere un semplice messaggio oppure qualsiasi altra azione. Come esempio creiamo una maschera che contenga un messaggio di avviso sulla esattezza della data attuale che si apra all apertura della maschera Operazioni, per indurre l utente a controllare la data di sistema. Creiamo prima di tutto, nei modi conosciuti, una maschera in visualizzazione struttura, senza intestazioni, con una Etichetta contenete il testo Controllare la correttezza della data attuale di sistema per non incorrere in errori di immissione dei dati. La data di sistema è: e una casella di testo non associata che contenga la funzione =Date(). Impostare le proprietà nella scheda Formato e nella scheda Altro poniamo a Sì la proprietà Poup, in modo che il messaggio apparirà sempre in primo piano. Salviamo la maschera col nome Messaggio. Essa dovrebbe apparire come in figura: Pagina 77 di 82

78 Creiamo ora una macro che apra la maschera creata e chiamiamola, anch essa, Messaggio. Apriamo ora in visualizzazione struttura la maschera Operazioni creata in precedenza. Clicchiamo col destro in una zona esterna al foglio della maschera e visualizziamo la finestra delle proprietà; clicchiamo poi sulla scheda Evento e nella casella Su apertura scegliamo dall elenco la macro Messaggio. Salviamo le modifiche e chiudiamo la maschera. Apriamo ora la maschera Operazioni e controlliamo l effetto: se tutto è stato fatto correttamente dovrebbe apparire il messaggio. Una macro può essere associata ad un Pulsante di comando situato in una maschera o in un report. Potrebbe essere utile, per esempio, avere sulla maschera Operazioni due pulsanti, di cui il primo apra la maschera e la tabella Articoli e l altro che apra la maschera e la tabella Fornitori. Create le macro relative all apertura della maschera e della tabella, è sufficiente creare i pulsanti e associarli alle macro. Il controllo Pulsante di comando ( ) si crea al solito modo disegnandolo sulla maschera dopo averlo selezionato nella Casella degli strumenti. Si apre la creazione guidata. Nella colonna Categorie scegliamo Varie e nella colonna Azioni scegliamo Esegui macro. Lo stesso risultato si raggiunge annullando la creazione guidata e aprendo la finestra delle proprietà. Nella scheda Evento, nella casella Su clic scegliamo la macro registrata e salviamo la maschera. Cliccando sul pulsante la macro sarà eseguita. AM5.6 Importazione, esportazione, collegamento dati. AM5.6.1 Gestione dati. Può accadere che si sia in possesso di database creati in altre applicazioni e in altri formati, di cui si vogliono adoperare i dati contenuti senza bisogno di doverli digitare, o, al contrario, che si vogliano esportare dati di un database Access in altri formati per poterli sfruttare in altre operazioni. Il fatto è che, quando si possiede una banca dati di notevoli dimensioni, sarebbe veramente un disastro se non si avesse il modo di sfruttarli in altri ambienti. Questa opportunità viene offerta, oggi, dalla maggior parte delle applicazioni che gestiscono basi di dati. I dati possono essere scambiati in un database di Access in due modi fondamentali: importazione o esportazione dei dati collegamento dei dati Nel primo caso Access produce una copia delle tabelle da importare o esportare e i dati originali non vengono alterati. Nel secondo caso Access usa e modifica i dati direttamente nel database esterno se il formato è supportato. Pagina 78 di 82

79 Vedremo in questo capitolo come importare, esportare e collegare dati da un ambiente ad un altro. AM Importare file di testo, fogli elettronici, file csv, dbase, Paradox in un database. I dati da importare possono esistere in diversi formati. Essi possono provenire da file di testo di diverso formato, quali.txt, in cui i campi sono delimitati da tabulazioni,.csv, in cui i campi sono delimitati dal separatore di elenco (in genere una virgola), da fogli elettronici, da database Dbase, Paradox, FoxPro o altro ancora. Access può importare direttamente alcuni formati di dati, ma ricordiamo che talvolta ostacoli di importazione possono essere superati importando i dati con una applicazione che li possa importare (per esempio Excel) e salvarli in un formato riconosciuto da Access. L importazione di dati, comunque, anche quando è possibile, può comportare perdita di alcune informazioni. Vediamo ora come importare file di testo. Per importare dati cliccare sul menu File / Carica dati esterni. Si presentano due scelte Importa e Collega tabelle Per importare dati clicchiamo su Importa Si apre la finestra per la ricerca del file da importare, nella quale, al solito, possiamo cercare la cartella e il nome e, inoltre, impostare il tipo di file da cercare. Nella casella Tipo di file scegliamo File di testo. Se nella cartella aperta vi sono file di testo di qualunque formato essi vengono elencati e possiamo scegliere dall elenco. I file di testo più comuni sono i file.txt e.csv. Essi sono prodotti, all occorrenza, da wordprocessor o da applicazioni che producono tabelle, quali Excel, Lotus etc., proprio per facilitare l esportazione in altri database. Scelto il file e cliccando sul pulsante Importa inizia l importazione guidata. Pagina 79 di 82

80 Innanzi tutto scegliamo il tipo di testo, se è delimitato o a larghezza fissa. Per esempio in un file TXT i campi sono delimitati da qualche carattere particolare come punto e virgola, asterischi etc., in un file CSV i campi sono delimitati da virgole. Access cerca di individuare automaticamente il tipo di file, ma se la scelta non fosse corretta possiamo modificarla. Se sappiamo di che tipo di dati si tratta, possiamo cliccare sul pulsante Avanzate e si apre una finestra di dialogo in cui possiamo impostare i nomi dei campi, il loro formato e molte altre cose ancora Andando avanti cliccando sul relativo pulsante, invece, si procede attraverso diverse finestre di dialogo in cui si possono fare le stesse impostazioni fino al salvataggio della tabella da creare in una nuova tabella o in una tabella esistente. Poiché una tabella di Access necessita di una chiave primaria, possiamo impostarla o farla aggiungere automaticamente da Access. L importazione di tabelle Excel o Dbase o Paradox o di altri database è più semplice in quanto non è necessario impostare alcun parametro se non scegliere il foglio o la tabella da importare. La procedura è esattamente uguale a quella seguita per il file di testo. Anche in questo caso si apre una importazione guidata molto semplice, alla fine della quale i dati possono essere salvati in una tabella esistente o in una nuova tabella. AM Esportare dati in formato foglio elettronico, file txt, dbase, Paradox. Talvolta può essere necessario esportare dati da un database Access in un formato diverso, per esempio in una tabella Excel, allo scopo di utilizzarla in una applicazione diversa. Pagina 80 di 82

81 Anche l esportazione di una tabella Access è molto semplice. Selezionare prima nella finestra del database la tabella da esportare e cliccare sulla voce di menu File / Esporta e si apre la finestra in cui si sceglie la cartella in cui salvare, il nome con cui salvare se si vuole cambiarlo e il tipo di file in cui esportare. Selezionando la casella Avvio automatico il file creato viene aperto con l applicazione adatta, se è presente sul computer. Il tipo di file in cui esportare la tabella può essere selezionato dall elenco Tipo file AM Collegare dati esterni ad un database. I dati possono essere, come detto in precedenza, importati, esportati o collegati. Il collegamento dei dati non crea una copia dei dati esterni nel database attivo, ma Access permette di elaborarli, modificarli o eliminarli dall interno del database. Nel collegamento di dati, in effetti, vengono aggiunte all elenco delle tabelle esistenti anche quelle collegate, che appariranno precedute da una freccia e dall icona del tipo di file collegato. Questi nomi aggiunti sono solo collegamenti, per cui una loro eliminazione non comporta l eliminazione delle tabelle originali. In figura sono presenti tre tabelle di cui una è una tabella Access, un altra è un collegamento ad una tabella Access di un altro database e la terza è un collegamento ad una tabella Excell. Pagina 81 di 82

82 Colleghiamo dapprima un database di Access. Clicchiamo su File / Carica dati esterni / Collega tabelle Si apre la finestra Collega tabelle, nella quale possiamo scegliere il tipo database da collegare. Scelto i database clicchiamo sul pulsante Collega e appare la finestra con l elenco delle tabelle presenti nel database. Possiamo scegliere le tabelle da collegare cliccando sui nomi mentre si tiene premuto il tasto CTRL o selezionandole tutte con i pulsanti relativi. Cliccando su OK le tabelle scelte vengono aggiunte alla lista. Allo stesso modo possono essere collegate tabelle di altre applicazioni. In questo caso, però, attraverso finestre di dialogo, vengono richieste alcune informazioni, in modo che Access possa lavorare senza errori sulle tabelle originali. Per esempio se si tratta di una tabella di Excel occorre specificare se la prima riga costituisce il nome dei campi oppure no. Una volta collegate le tabelle, possiamo utilizzarle all interno di Access come se appartenessero al databse. Pagina 82 di 82

ECDL AM5 Access Advanced

ECDL AM5 Access Advanced SANDRO GALLEA ECDL AM5 Access Advanced Guida alla prova d esame per la patente europea di informatica Indice Premessa...pag. 9 AM5.1 Progettazione delle tabelle AM5.1.1 Campi, colonne...» 11 AM5.1.1.1

Подробнее

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS CONTENUTI: CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS Creazione database vuoto Creazione tabella Inserimento dati A) Creazione di un database vuoto Avviamo il programma Microsoft Access. Dal menu

Подробнее

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro, EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area

Подробнее

EUROPEAN COMPUTER DRIVING LICENCE. Modulo AM5, Database Livello avanzato

EUROPEAN COMPUTER DRIVING LICENCE. Modulo AM5, Database Livello avanzato EUROPEAN COMPUTER DRIVING LICENCE Modulo AM5, Database Livello avanzato Copyright 2006 The ECDL Foundation Ltd. Tutti i diritti riservati. Questa pubblicazione non può essere riprodotta in alcuna forma

Подробнее

Microsoft Access 2000

Microsoft Access 2000 Microsoft Access 2000 Corso introduttivo per l ECDL 2004 Pieralberto Boasso Indice Lezione 1: le basi Lezione 2: le tabelle Lezione 3: creazione di tabelle Lezione 4: le query Lezione 5: le maschere Lezione

Подробнее

Excel. A cura di Luigi Labonia. e-mail: [email protected]

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: [email protected] Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Подробнее

Organizzazione delle informazioni: Database

Organizzazione delle informazioni: Database Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio ([email protected])

Подробнее

7. Microsoft Access. 1) Introduzione a Microsoft Access

7. Microsoft Access. 1) Introduzione a Microsoft Access 1) Introduzione a Microsoft Access Microsoft Access è un programma della suite Microsoft Office utilizzato per la creazione e gestione di database relazionali. Cosa è un database? Un database, o una base

Подробнее

www.saggese.it www.domenicosaggese.it Pagina 1 di 10

www.saggese.it www.domenicosaggese.it Pagina 1 di 10 Materiale prodotto da Domenico Saggese unicamente come supporto per i suoi corsi. E lecito trattenerne una copia per uso personale; non è autorizzato alcun uso commerciale o in corsi non tenuti od organizzati

Подробнее

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Подробнее

Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico)

Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico) Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico) 1 Aprire Access Appare una finestra di dialogo Microsoft Access 2 Aprire un

Подробнее

Progettazione di un Database

Progettazione di un Database Progettazione di un Database Per comprendere il processo di progettazione di un Database deve essere chiaro il modo con cui vengono organizzati e quindi memorizzati i dati in un sistema di gestione di

Подробнее

Introduzione. Alberto Fortunato [email protected]. www.albertofortunato.com Pag. 1 di 137

Introduzione. Alberto Fortunato alberto.fortunato@gmail.com. www.albertofortunato.com Pag. 1 di 137 Introduzione Il software Gestione magazzino è stato realizzato con l intenzione di fornire uno strumento di apprendimento per chi intendesse cominciare ad utilizzare Access 2010 applicando le tecniche

Подробнее

Microsoft Access. Microsoft Access

Microsoft Access. Microsoft Access Microsoft Access E. Tramontana E. Tramontana 1 Microsoft Access Un Database è una collezione di dati relazionati e strutturati MS Access è uno strumento per la gestione di Database Consente di archiviare

Подробнее

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Подробнее

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database Microsoft Access Introduzione alle basi di dati Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale limitato Meccanismi di sicurezza, protezione di dati e gestione

Подробнее

5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9

5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 5.2.1 RELAZIONI TRA TABELLE 1 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 Il grado di un verso di un associazione indica quanti record della tabella di partenza si associano ad un

Подробнее

Access. P a r t e p r i m a

Access. P a r t e p r i m a Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di

Подробнее

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Подробнее

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Подробнее

Esercizio sui data base "Gestione conti correnti"

Esercizio sui data base Gestione conti correnti Database "Gestione conto correnti" Testo del quesito La banca XYZ vuole informatizzare le procedure di gestione dei conti correnti creando un archivio dei correntisti (Cognome, Nome, indirizzo, telefono,

Подробнее

Esame di Informatica CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO. Facoltà di Scienze Motorie

Esame di Informatica CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO. Facoltà di Scienze Motorie Facoltà di Scienze Motorie CHE COS È UN FOGLIO ELETTRONICO Una tabella che contiene parole e numeri che possono essere elaborati applicando formule matematiche e funzioni statistiche. Esame di Informatica

Подробнее

EUROPEAN COMPUTER DRIVING LICENCE / INTERNATIONAL COMPUTER DRIVING LICENCE Database Livello avanzato

EUROPEAN COMPUTER DRIVING LICENCE / INTERNATIONAL COMPUTER DRIVING LICENCE Database Livello avanzato EUROPEAN COMPUTER DRIVING LICENCE / INTERNATIONAL COMPUTER DRIVING LICENCE Database Livello avanzato The European Computer Driving Licence Foundation Ltd. Portview House Thorncastle Street Dublin 4 Ireland

Подробнее

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Подробнее

www.filoweb.it STAMPA UNIONE DI WORD

www.filoweb.it STAMPA UNIONE DI WORD STAMPA UNIONE DI WORD Molte volte abbiamo bisogno di stampare più volte lo stesso documento cambiando solo alcuni dati. Potremmo farlo manualmente e perdere un sacco di tempo, oppure possiamo ricorrere

Подробнее

MODULO 4: FOGLIO ELETTRONICO (EXCEL)

MODULO 4: FOGLIO ELETTRONICO (EXCEL) MODULO 4: FOGLIO ELETTRONICO (EXCEL) 1. Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei Personal computer. Essi

Подробнее

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video

Подробнее

1. I database. La schermata di avvio di Access

1. I database. La schermata di avvio di Access 7 Microsoft Access 1. I database Con il termine database (o base di dati) si intende una raccolta organizzata di dati, strutturati in maniera tale che, effettuandovi operazioni di vario tipo (inserimento

Подробнее

1. Le macro in Access 2000/2003

1. Le macro in Access 2000/2003 LIBRERIA WEB 1. Le macro in Access 2000/2003 Per creare una macro, si deve aprire l elenco delle macro dalla finestra principale del database: facendo clic su Nuovo, si presenta la griglia che permette

Подробнее

Le query di raggruppamento

Le query di raggruppamento Le query di raggruppamento Le "Query di raggruppamento" sono delle Query di selezione che fanno uso delle "Funzioni di aggregazione" come la Somma, il Conteggio, il Massimo, il Minimo o la Media, per visualizzare

Подробнее

MODULO 5 ACCESS Basi di dati. Lezione 4

MODULO 5 ACCESS Basi di dati. Lezione 4 MODULO 5 ACCESS Basi di dati Lezione 4 ARGOMENTI Lezione 4 Filtrare i dati Esempio 1 Query Cos è Creare Query in visualizza struttura Criteri di ricerca Esempio 2 Esempio 3 Esempio 4 Creare Query in creazione

Подробнее

Relazioni tra tabelle

Relazioni tra tabelle Relazioni tra tabelle Una delle caratteristiche principali di Access è la possibilità di definire le relazioni fra tabelle in modo molto semplice vista l interfaccia grafica visuale. Le relazioni possono

Подробнее

Base Dati Introduzione

Base Dati Introduzione Università di Cassino Facoltà di Ingegneria Modulo di Alfabetizzazione Informatica Base Dati Introduzione Si ringrazia l ing. Francesco Colace dell Università di Salerno Gli archivi costituiscono una memoria

Подробнее

MODULO 5 Appunti ACCESS - Basi di dati

MODULO 5 Appunti ACCESS - Basi di dati MODULO 5 Appunti ACCESS - Basi di dati Lezione 1 www.mondopcnet.com Modulo 5 basi di dati Richiede che il candidato dimostri di possedere la conoscenza relativa ad alcuni concetti fondamentali sui database.

Подробнее

Obiettivi del corso. Creare, modificare e formattare un semplice database costituito da tabelle, query, maschere e report utilizzando Access 2000.

Obiettivi del corso. Creare, modificare e formattare un semplice database costituito da tabelle, query, maschere e report utilizzando Access 2000. ECDL Excel 2000 Obiettivi del corso Creare, modificare e formattare un semplice database costituito da tabelle, query, maschere e report utilizzando Access 2000. Progettare un semplice database Avviare

Подробнее

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record 5.3 TABELLE In un sistema di database relazionali le tabelle rappresentano la struttura di partenza, che resta poi fondamentale per tutte le fasi del lavoro di creazione e di gestione del database. 5.3.1

Подробнее

I database relazionali (Access)

I database relazionali (Access) I database relazionali (Access) Filippo TROTTA 04/02/2013 1 Prof.Filippo TROTTA Definizioni Database Sistema di gestione di database (DBMS, Database Management System) Sistema di gestione di database relazionale

Подробнее

Figura 1 Le Icone dei file di Excel con e senza macro.

Figura 1 Le Icone dei file di Excel con e senza macro. 18 Le macro Le macro rappresentano una soluzione interessante per automatizzare e velocizzare l esecuzione di operazioni ripetitive. Le macro, di fatto, sono porzioni di codice VBA (Visual Basic for Applications)

Подробнее

Raggruppamenti Conti Movimenti

Raggruppamenti Conti Movimenti ESERCITAZIONE PIANO DEI CONTI Vogliamo creare un programma che ci permetta di gestire, in un DB, il Piano dei conti di un azienda. Nel corso della gestione d esercizio, si potranno registrare gli articoli

Подробнее

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella

Подробнее

(A) CONOSCENZA TERMINOLOGICA (B) CONOSCENZA E COMPETENZA (C) ESERCIZI DI COMPRENSIONE

(A) CONOSCENZA TERMINOLOGICA (B) CONOSCENZA E COMPETENZA (C) ESERCIZI DI COMPRENSIONE (A) CONOSCENZA TERMINOLOGICA Dare una breve descrizione dei termini introdotti: Caselle di testo Caselle di riepilogo Caselle combinate Gruppo di opzioni Pulsanti di comando (B) CONOSCENZA E COMPETENZA

Подробнее

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo Creazione di moduli Creazione di moduli Che cos'è un modulo? Un elenco di domande accompagnato da aree in cui è possibile scrivere le risposte, selezionare opzioni. Il modulo di un sito Web viene utilizzato

Подробнее

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA BOZZA 23/07/2008 INDICE 1. PERCHÉ UNA NUOVA VERSIONE DEI MODULI DI RACCOLTA DATI... 3 2. INDICAZIONI GENERALI... 4 2.1. Non modificare la struttura dei fogli di lavoro... 4 2.2. Cosa significano

Подробнее

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa. La finestra di Excel è molto complessa e al primo posto avvio potrebbe disorientare l utente. Analizziamone i componenti dall alto verso il basso. La prima barra è la barra del titolo, dove troviamo indicato

Подробнее

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Basi di dati: Microsoft Access INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Database e DBMS Il termine database (banca dati, base di dati) indica un archivio, strutturato in modo tale

Подробнее

Cultura Tecnologica di Progetto

Cultura Tecnologica di Progetto Cultura Tecnologica di Progetto Politecnico di Milano Facoltà di Disegno Industriale - DATABASE - A.A. 2003-2004 2004 DataBase DB e DataBase Management System DBMS - I database sono archivi che costituiscono

Подробнее

GESGOLF SMS ONLINE. Manuale per l utente

GESGOLF SMS ONLINE. Manuale per l utente GESGOLF SMS ONLINE Manuale per l utente Procedura di registrazione 1 Accesso al servizio 3 Personalizzazione della propria base dati 4 Gestione dei contatti 6 Ricerca dei contatti 6 Modifica di un nominativo

Подробнее

Per effettuare la stampa di una cartella di lavoro si accede al comando. Stampa dal menu File o si utilizza il pulsante omonimo sulla barra

Per effettuare la stampa di una cartella di lavoro si accede al comando. Stampa dal menu File o si utilizza il pulsante omonimo sulla barra 4.5 Stampa 4.5.1 Stampare semplici fogli elettronici 4.5.1.1 Usare le opzioni di base della stampa Per effettuare la stampa di una cartella di lavoro si accede al comando Stampa dal menu File o si utilizza

Подробнее

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti. SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo

Подробнее

Gestione Rapporti (Calcolo Aree)

Gestione Rapporti (Calcolo Aree) Gestione Rapporti (Calcolo Aree) L interfaccia dello strumento generale «Gestione Rapporti»...3 Accedere all interfaccia (toolbar)...3 Comandi associati alle icone della toolbar...4 La finestra di dialogo

Подробнее

Database Manager Guida utente DMAN-IT-01/09/10

Database Manager Guida utente DMAN-IT-01/09/10 Database Manager Guida utente DMAN-IT-01/09/10 Le informazioni contenute in questo manuale di documentazione non sono contrattuali e possono essere modificate senza preavviso. La fornitura del software

Подробнее

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Подробнее

GUIDA UTENTE BILLIARDS COUNTER (Vers. 1.2.0)

GUIDA UTENTE BILLIARDS COUNTER (Vers. 1.2.0) ------------------------------------------------- GUIDA UTENTE BILLIARDS COUNTER (Vers. 1.2.0) GUIDA UTENTE BILLIARDS COUNTER (Vers. 1.2.0)... 1 Installazione Billiards Counter... 2 Primo avvio e configurazione

Подробнее

Monitor Orientamento. Manuale Utente

Monitor Orientamento. Manuale Utente Monitor Orientamento Manuale Utente 1 Indice 1 Accesso al portale... 3 2 Trattamento dei dati personali... 4 3 Home Page... 5 4 Monitor... 5 4.1 Raggruppamento e ordinamento dati... 6 4.2 Esportazione...

Подробнее

Appunti sugli Elaboratori di Testo. Introduzione. D. Gubiani. 19 Luglio 2005

Appunti sugli Elaboratori di Testo. Introduzione. D. Gubiani. 19 Luglio 2005 Appunti sugli Elaboratori di Testo D. Gubiani Università degli Studi G.D Annunzio di Chieti-Pescara 19 Luglio 2005 1 Cos è un elaboratore di testo? 2 3 Cos è un elaboratore di testo? Cos è un elaboratore

Подробнее

Le query. Lezione 6 a cura di Maria Novella Mosciatti

Le query. Lezione 6 a cura di Maria Novella Mosciatti Lezione 6 a cura di Maria Novella Mosciatti Le query Le query sono oggetti del DB che consentono di visualizzare, modificare e analizzare i dati in modi diversi. Si possono utilizzare query come origine

Подробнее

File, Modifica, Visualizza, Strumenti, Messaggio

File, Modifica, Visualizza, Strumenti, Messaggio Guida installare account in Outlook Express Introduzione Questa guida riguarda di sicuro uno dei programmi maggiormente usati oggi: il client di posta elettronica. Tutti, ormai, siamo abituati a ricevere

Подробнее

5.2 UTILIZZO DELL APPLICAZIONE

5.2 UTILIZZO DELL APPLICAZIONE 5.2 UTILIZZO DELL APPLICAZIONE Base offre la possibilità di creare database strutturati in termini di oggetti, quali tabelle, formulari, ricerche e rapporti, di visualizzarli e utilizzarli in diverse modalità.

Подробнее

4.1.1.1 APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO

4.1.1.1 APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO 4.1 PER INIZIARE 4.1.1 PRIMI PASSI COL FOGLIO ELETTRONICO 4.1.1.1 APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO L icona del vostro programma Excel può trovarsi sul desktop come in figura. In questo caso basta

Подробнее

Database 3 affitto veicoli. Testo del quesito

Database 3 affitto veicoli. Testo del quesito Database 3 affitto veicoli Testo del quesito La società salento trasporti dispone di diversi tipi di veicoli (moto, auto, furgoni, camion, ) che affitta ai propri clienti. La società vuole informatizzare

Подробнее

LUdeS Informatica 2 EXCEL. Seconda parte AA 2013/2014

LUdeS Informatica 2 EXCEL. Seconda parte AA 2013/2014 LUdeS Informatica 2 EXCEL Seconda parte AA 2013/2014 STAMPA Quando si esegue il comando FILE STAMPA, Excel manda alla stampante tutte le celle del foglio di lavoro corrente che hanno un contenuto. Il numero

Подробнее

Guida SH.Shop. Inserimento di un nuovo articolo:

Guida SH.Shop. Inserimento di un nuovo articolo: Guida SH.Shop Inserimento di un nuovo articolo: Dalla schermata principale del programma, fare click sul menu file, quindi scegliere Articoli (File Articoli). In alternativa, premere la combinazione di

Подробнее

WORD (livello avanzato): Struttura di un Documento Complesso. Struttura di un Documento Complesso

WORD (livello avanzato): Struttura di un Documento Complesso. Struttura di un Documento Complesso Parte 5 Adv WORD (livello avanzato): Struttura di un Documento Complesso 1 di 30 Struttura di un Documento Complesso La realizzazione di un libro, di un documento tecnico o scientifico complesso, presenta

Подробнее

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Подробнее

Access INTRODUZIONE. Cos'è un Database? Probabilmente il modo migliore per spiegarlo è attraverso un esempio: una rubrica telefonica.

Access INTRODUZIONE. Cos'è un Database? Probabilmente il modo migliore per spiegarlo è attraverso un esempio: una rubrica telefonica. Access INTRODUZIONE Cos'è un Database? Probabilmente il modo migliore per spiegarlo è attraverso un esempio: una rubrica telefonica. Nome Indirizzo Città CAP PR Tel ITIS Amedeo Avogadro c. San Maurizio,

Подробнее

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Подробнее

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Il raggruppamento e la struttura dei dati sono due funzioni di gestione dati di Excel, molto simili tra

Подробнее

5.6.1 REPORT, ESPORTAZIONE DI DATI

5.6.1 REPORT, ESPORTAZIONE DI DATI 5.6 STAMPA In alcune circostanze può essere necessario riprodurre su carta i dati di tabelle o il risultato di ricerche; altre volte, invece, occorre esportare il risultato di una ricerca, o i dati memorizzati

Подробнее

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Подробнее

La Stampa Unione. Individuare la lista indirizzi per la Stampa Unione

La Stampa Unione. Individuare la lista indirizzi per la Stampa Unione La Stampa Unione La Stampa unione consente di personalizzare con il nome, il cognome, l'indirizzo e altri dati i documenti e le buste per l'invio a più destinatari. Basterà avere un database con i dati

Подробнее

Capitolo 6. 6.1 TOTALI PARZIALI E COMPLESSIVI Aprire la cartella di lavoro Lezione2 e inserire la tabella n 2 nel Foglio1 che chiameremo Totali.

Capitolo 6. 6.1 TOTALI PARZIALI E COMPLESSIVI Aprire la cartella di lavoro Lezione2 e inserire la tabella n 2 nel Foglio1 che chiameremo Totali. Capitolo 6 GESTIONE DEI DATI 6.1 TOTALI PARZIALI E COMPLESSIVI Aprire la cartella di lavoro Lezione2 e inserire la tabella n 2 nel Foglio1 che chiameremo Totali. Figura 86. Tabella Totali Si vuole sapere

Подробнее

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Подробнее

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE 1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma

Подробнее

ACCESSO AL SISTEMA HELIOS...

ACCESSO AL SISTEMA HELIOS... Manuale Utente (Gestione Formazione) Versione 2.0.2 SOMMARIO 1. PREMESSA... 3 2. ACCESSO AL SISTEMA HELIOS... 4 2.1. Pagina Iniziale... 6 3. CARICAMENTO ORE FORMAZIONE GENERALE... 9 3.1. RECUPERO MODELLO

Подробнее

Office 2007 Lezione 02. Le operazioni più

Office 2007 Lezione 02. Le operazioni più Le operazioni più comuni Le operazioni più comuni Personalizzare l interfaccia Creare un nuovo file Ieri ci siamo occupati di descrivere l interfaccia del nuovo Office, ma non abbiamo ancora spiegato come

Подробнее

MS Word per la TESI. Barra degli strumenti. Rientri. Formattare un paragrafo. Cos è? Barra degli strumenti

MS Word per la TESI. Barra degli strumenti. Rientri. Formattare un paragrafo. Cos è? Barra degli strumenti MS Word per la TESI Barra degli strumenti Cos è? Barra degli strumenti Formattazione di un paragrafo Formattazione dei caratteri Gli stili Tabelle, figure, formule Intestazione e piè di pagina Indice e

Подробнее

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. Con l utilizzo delle procedure di iscrizione on line la società organizzatrice ha a disposizione tutti

Подробнее

Uso delle tabelle e dei grafici Pivot

Uso delle tabelle e dei grafici Pivot Uso delle tabelle e dei grafici Pivot 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella riassuntiva basata su condizioni multiple che hanno punti di

Подробнее

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

Подробнее

Cominciamo dalla barra multifunzione, ossia la struttura a schede che ha sostituito la barra dei menu e la barra delle icone (Figura 1).

Cominciamo dalla barra multifunzione, ossia la struttura a schede che ha sostituito la barra dei menu e la barra delle icone (Figura 1). La barra multifunzione La barra multifunzione e il pulsante Microsoft Office Se avete lavorato per tanti anni con la suite da ufficio Office, questa nuova versione 2007 può disorientarvi davvero molto.

Подробнее

Breve guida all uso del programma L Edicolante.

Breve guida all uso del programma L Edicolante. Breve guida all uso del programma L Edicolante. Di seguito sono riportati i passi essenziali per consentire di caricare, vendere e generare la bolla di reso di una serie di riviste e di quotidiani. Saranno

Подробнее

2.7 La cartella Preparazioni e CD Quiz Casa

2.7 La cartella Preparazioni e CD Quiz Casa 2.7 La cartella Preparazioni e CD Quiz Casa SIDA CD Quiz Casa è il cd che permette al candidato di esercitarsi a casa sui quiz ministeriali e personalizzati. L autoscuola può consegnare il cd al candidato

Подробнее

Università di L Aquila Facoltà di Biotecnologie Agro-alimentari

Università di L Aquila Facoltà di Biotecnologie Agro-alimentari RIFERIMENTI Università di L Aquila Facoltà di Biotecnologie Agro-alimentari Esame di Laboratorio di informatica e statistica Parte 3 (versione 1.0) Il riferimento permette di identificare univocamente

Подробнее

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Basi di Dati Claudio Marrocco I report I Report sono lo strumento più adatto per ottenere una copia stampata dei dati e delle informazioni ricavate dalle

Подробнее

MODULO 5 Basi di dati (database)

MODULO 5 Basi di dati (database) MODULO 5 Basi di dati (database) I contenuti del modulo: questo modulo riguarda la conoscenza da parte del candidato dei concetti fondamentali sulle basi di dati e la sua capacità di utilizzarli. Il modulo

Подробнее

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Подробнее

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate MODULO BASE Quanto segue deve essere rispettato se si vuole che le immagini presentate nei vari moduli corrispondano, con buona probabilità, a quanto apparirà nello schermo del proprio computer nel momento

Подробнее

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012 1 MICROSOFT ACCESS 1 Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012 Che cos'è Access? 2 Access è un'applicazione database (DBMS), cioè un programma che serve a gestire

Подробнее

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Подробнее

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0 Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2

Подробнее

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

Подробнее

DESCRIZIONE: Microsoft Office 2002 XP Corso Completo (Patente 60 giorni)

DESCRIZIONE: Microsoft Office 2002 XP Corso Completo (Patente 60 giorni) DESCRIZIONE: Microsoft Office 2002 XP Corso Completo (Patente 60 giorni) Microsoft Word 2002 Fondamentali Microsoft Word 2002 Utente Avanzato Microsoft Word 2002 Utente Esperto Microsoft PowerPoint 2002

Подробнее

Appunti di: MICROSOFT EXCEL

Appunti di: MICROSOFT EXCEL Appunti di: MICROSOFT EXCEL INDICE PARTE I: IL FOGLIO ELETTRONICO E I SUOI DATI Paragrafo 1.1: Introduzione. 3 Paragrafo 1.2: Inserimento dei Dati....4 Paragrafo 1.3: Ordinamenti e Filtri... 6 PARTE II:

Подробнее

3.5.1.1 Aprire, preparare un documento da utilizzare come documento principale per una stampa unione.

3.5.1.1 Aprire, preparare un documento da utilizzare come documento principale per una stampa unione. Elaborazione testi 133 3.5 Stampa unione 3.5.1 Preparazione 3.5.1.1 Aprire, preparare un documento da utilizzare come documento principale per una stampa unione. Abbiamo visto, parlando della gestione

Подробнее

FATTURE PROFESSIONISTI 1.5 MANUALE UTENTE. ultima revisione: 21/05/07

FATTURE PROFESSIONISTI 1.5 MANUALE UTENTE. ultima revisione: 21/05/07 FATTURE PROFESSIONISTI 1.5 MANUALE UTENTE ultima revisione: 21/05/07 Indice Panoramica... 1 Navigazione... 2 Selezionare una Vista Dati... 2 Individuare una registrazione esistente... 3 Inserire un nuova

Подробнее

Come modificare la propria Home Page e gli elementi correlati

Come modificare la propria Home Page e gli elementi correlati Come modificare la propria Home Page e gli elementi correlati Versione del documento: 3.0 Ultimo aggiornamento: 2006-09-15 Riferimento: webmaster ([email protected]) La modifica delle informazioni

Подробнее

Sviluppare un DB step by step

Sviluppare un DB step by step Sviluppare un DB step by step Creare un nuovo database Per prima cosa creiamo un nuovo DB vuoto Access di default salverà il db dandogli come nome Database 1 se è già presente un file con tale nome Database

Подробнее

Manuale di istruzioni sulle maschere per il calcolo del punteggio e del voto (unico) degli studenti che sostengono la Prova nazionale 2011

Manuale di istruzioni sulle maschere per il calcolo del punteggio e del voto (unico) degli studenti che sostengono la Prova nazionale 2011 Manuale di istruzioni sulle maschere per il calcolo del punteggio e del voto (unico) degli studenti che sostengono la Prova nazionale 2011 (CLASSI NON CAMPIONE) Prova nazionale 2010 11 1 A.S. 2010 11 Pubblicato

Подробнее

La prima tabella da creare è quella relativa all elenco delle modalità mediante le quali è possibile identificare la corrispondenza (Posta

La prima tabella da creare è quella relativa all elenco delle modalità mediante le quali è possibile identificare la corrispondenza (Posta Diamo ordine all ufficio protocollo a cura della redazione OFFICE MAGAZINE Come sostituire il registro cartaceo dedicato alla gestione della corrispondenza in entrata e in uscita delle aziende e degli

Подробнее

WORD per WINDOWS95. Un word processor e` come una macchina da scrivere ma. con molte più funzioni. Il testo viene battuto sulla tastiera

WORD per WINDOWS95. Un word processor e` come una macchina da scrivere ma. con molte più funzioni. Il testo viene battuto sulla tastiera WORD per WINDOWS95 1.Introduzione Un word processor e` come una macchina da scrivere ma con molte più funzioni. Il testo viene battuto sulla tastiera ed appare sullo schermo. Per scrivere delle maiuscole

Подробнее