Ecdl – modulo 5 Microsoft access 2007 query • maschere •
Introduzione alle query Il termine query, viene utilizzato per indicare l'interrogazione di un database in modo da ottenere dei dati contenuti in una o più tabelle. Solitamente una query viene posta al DBMS in linguaggio SQL (Structured Query Language). Le query sono utilizzate per visualizzare ed analizzare le informazioni presenti nel database e possono servire come base per creare maschere e report. Una query non contiene dati ma è "semplicemente" un insieme di istruzioni. Access utilizza queste istruzioni per selezionare e per visualizzare i record appropriati dalle tabelle. Aggiungendo nuovi record in una tabella non è necessario aggiornare la query, dato che essa analizza sempre tutti i record contenuti nella tabella, considerando anche i nuovi aggiunti. Eseguendo una query, si ottiene un recordset che contiene tutti i record che soddisfano le condizioni della query, con visibili i soli campi selezionati. II recordset non è una tabella, ma può essere utilizzato per aggiornare ed aggiungere dati a tabelle.
Access: creazione guidata di query In Access è disponibile la funzionalità “Creazione guidata Query” che guida l’utente per passi successivi nella creazione di una semplice query di selezione.
Access: creazione guidata di query Per fare un esempio sull’utilizzo dello strumento di creazione guidata query consideriamo il seguente DB formato da 4 tabelle: ID Cognome Nome Data di Nascita Indirizzo CAP Telefono Clienti ID ID_CLIENTE ID_VENDITORE ID_PRODOTTO Data Quantità Importo Ordini ID Nome Ditta Indirizzo PIVA ID Tipo Descrizione Prezzo Venditori Prodotti
Access: creazione guidata di query Creiamo adesso una query che ci faccia vedere tutti gli acquisti effettuati dai clienti.
Access: salvare e aprire una query Una query può essere salvata mediante il pulsante oppure attraverso il menù Pulsante di Office → Salva (o Salva con nome…) Una query può essere aperta: Facendo doppio clic sul nome della query nel Riquadro di Spostamento. Facendo clic col pulsante destro del mouse sul nome della query e selezionando il comando Apri nel menu a scelta rapida. All'apertura di una query, Access ne esegue le istruzioni e mostra il recordset contenente i risultati in visualizzazione Foglio dati.
Access: aggiungere una tabella alla query Creando una nuova query, all'apertura della finestra Struttura si apre automaticamente anche la finestra di dialogo “Mostra tabella” dalla quale è possibile aggiungere più tabelle. Modificando una query, l'apertura della finestra Struttura non è seguita dall'apertura automatica della finestra di dialogo “Mostra tabella”, che deve essere aperta manualmente per mezzo dello strumento omonimo. La finestra di dialogo “Mostra tabella” può essere aperta: Facendo clic col pulsante destro dei mouse nella finestra e successivamente selezionando il comando Mostra tabella nel menu a scelta rapida. In alternativa, selezionando il pulsante Mostra Tabella, nella scheda Struttura, gruppo Imposta Query.
Access: Aggiungere/rimuovere campi da una query In visualizzazione Struttura i campi disponibili in ogni tabella sono elencati nel riquadro superiore della finestra. Quelli usati nella query sono visualizzati, uno per ogni colonna della griglia, nel riquadro inferiore. Per aggiungere un campo alla query possiamo partire dalle tabelle nel riquadro superiore e fare doppio clic sul campo nell'elenco, oppure trascinarlo dall'elenco sulla griglia, oppure, direttamente nel riquadro inferiore, possiamo sceglierlo dalla casella-elenco presente nelle celle della prima riga della griglia. Per rimuovere un campo basta eliminare la colonna dalla griglia. Alla griglia si possono aggiungere e rimuovere tutti i campi disponibili in una tabella usando l'asterisco (*) al posto dei nomi di tutti i campi.
Access: il collegamento di tabelle in una query Con query che utilizzano più tabelle, le tabelle devono essere correttamente collegate per consentire alla query di fornire risultati coerenti e significativi. Qualora Access non sappia come collegare i dati tra le tabelle, visualizza tutte combinazioni possibili tra le informazioni contenute nelle due tabelle. Per esempio, se una tabella ha 20 record e l'altra ne ha 5, si ottiene un recordset con 100 record, risultato generalmente privo di significato. Nel caso in cui le relazioni siano già state definite nella finestra di dialogo Relazioni, le linee di collegamento tra gli elenchi dei campi sono visualizzate automaticamente nella finestra di dialogo Struttura. Perciò, se ad una query si aggiunge una tabella correlata, la linea di collegamento è visualizzata automaticamente. Access evidenzia inoltre un collegamento, se esiste un campo con lo stesso nome in entrambe le tabelle. Se non ci sono relazioni predefinite o campi con lo stesso nome, è necessario definire la relazione.
Access: il collegamento di tabelle in una query II risultato ottenuto dall'esecuzione delle query è sensibile al tipo di collegamento (o join) di una relazione. E’ molto importante definire il corretto tipo di join. II tipo standard è inner join. Con questo tipo di join sono inclusi nel recordset solo i record in cui i campi collegati hanno i medesimi valori in entrambe le tabelle. Si può anche definire un outer join. Con questo tipo di join sono inclusi tutti i record della tabella primaria (o dal lato "uno") anche se non presentano corrispondenze con la tabella correlata (o dal lato "molti"). I join definiti in una query non sono presenti nella finestra di dialogo Relazioni. I join definiti in una query possono essere rimossi facendo clic col pulsante destro del mouse sul collegamento e selezionando il comando Elimina nel menu a scelta rapida. È possibile aprire la finestra di dialogo Proprietà join: facendo clic col pulsante destro del mouse sul collegamento desiderato e selezionando il comando Proprietà join nel menu a scelta rapida.
Access: query in visualizzazione struttura
Access: query in visualizzazione struttura La finestra “Visualizzazione struttura Query” consente di modificare le caratteristiche della query. Nelle riga “Campo” dobbiamo inserire appunto i campi delle tabelle che devono far parte del record set. Nella riga “Tabella” va specificata l’appartenenza del campo soprastante (se non automaticamente inserita). Nella riga “Ordinamento” si può specificare il verso dell’ordinamento: crescente o decrescente. Nella riga “Mostra” si può specificare o meno se visualizzare il campo nel record set. Per selezionare record specifici occorre personalizzare la riga “Criteri” immettendo dei valori che intendiamo trovare nei record selezionati. Per aggiungere ulteriori criteri ad un campo basta immettere altri criteri dalla riga “Oppure”.
Access: ordinare i risultati di una query Eseguendo una query i record presenti nel recordset sono visualizzati nello stesso ordine con cui sono stati introdotti nelle tabelle. Possono essere ordinati in due modi: Ordinando il recordset: ll recordset può essere ordinato con lo stesso meccanismo con cui si ordina una tabella, ripetendolo ad ogni esecuzione della query. Assegnando un criterio di ordinamento durante la creazione della query: Definendo un criterio di ordinamento in fase di creazione della query, Access esegue automaticamente l'ordinamento ad ogni esecuzione della query. L'ordinamento può essere eseguito su più campi, ad esempio, per regione e poi per città nell'ambita della stessa regione. Per realizzare questo ordinamento il campo Regione deve essere nella griglia alla sinistra del campo Città, poiché Access esegue gli ordinamenti sui campi da sinistra verso destra, come definiti sulla griglia di creazione della query.
Access: spostare i campi in una query L'ordinamento dei dati su chiave multipla richiede che il campo rappresentante la prima chiave di ordinamento si trovi a sinistra di tutti gli altri campi chiave, il campo con la seconda chiave di ordinamento a destra del primo e via di seguito. Lo spostamento di un campo da una posizione della griglia di disegno ad un'altra può essere eseguito con la tecnica seleziona e trascina (drag & drop). Dapprima si seleziona la colonna da spostare posizionando il puntatore del mouse sopra la colonna, fino a far apparire una freccia che punta verso il basso, e quindi facendo clic. Dopo la selezione si fa nuovamente clic e si trascina la colonna nella posizione desiderata. Durante il trascinamento un linea verticale spessa identifica la posizione della colonna al rilascio del mouse.
Access Query: operatori e criteri Gli operatori di confronto utilizzati nei criteri sono: < minore di <= minore uguale a > maggiore di >= maggiore uguale a = uguale a <> diverso da Operatori logici per comporre le condizioni sono: condizione1 AND condizione2 - per fare in modo che le condizioni debbano essere verificate entrambe condizione1 OR condizione2 - per fare in modo che una condizione sola e verificata basti NOT condizione - per ottenere risultato positivo in caso che la condizione non sia verificata Per selezionare valori compresi in un intervallo tra due valori prefissati: Between … And … - (Letteralmente “Tra … e …”) è un operatore che funziona con campi di tipo Testo,Numerico e Data
Access Query: operatori e criteri I caratteri Jolly da utilizzare nei criteri delle Query sono: * corrisponde a una o più lettere o numeri ? corrisponde ad una lettera o numero Il simbolo # non è lo stesso delle ricerche, nei criteri infatti ha un significato ben diverso: Si usa per racchiudere una data (#12/10/99#) # e “ servono per racchiudere rispettivamente date e testo Access in automatico segue questa regola e la applica una volta immessi i criteri.
Access Query: operatori e criteri Esempio: Visualizziamo tutti gli acquisti effettuati dopo il 14/10/2007.
Access Query: operatori e criteri Esempio: Visualizziamo tutti gli acquisti dalle persone il cui cognome inizia per “B”.
Access aggiungere record usando una query Una query può essere utilizzata per aggiungere record in tabelle correlate. Quando si inseriscono informazioni relative al join con la tabella primaria, Access identifica automaticamente le informazioni corrispondenti e le inserisce nei record. Ad esempio, le tabelle Ordini e Clienti sono correlate attraverso il campo codice cliente. Se si vuole aggiungere un nuovo record ordine, utilizzando la query, inserendo un numero di codice cliente nel campo appropriato della tabella Ordini, Access interpreta la relazione e completa automaticamente l'anagrafica attraverso la relazione con la tabella Clienti. É sempre possibile aggiungere record in query basate su tabelle non correlate ad altre, mentre, per query basate su tabelle correlate, Access deve essere in grado di determinare il tipo di relazione (uno a uno oppure uno a molti) altrimenti non sarà possibile aggiungere nuovi dati. Nelle query con tabelle in relazione uno a uno è sempre possibile aggiornare i dati. Nelle query con tabelle in relazione uno a molti potrebbe non essere possibile aggiornare i dati. Questo può succedere se il campo su cui si basa il join della tabella correlata (dalla parte "molti") non è incluso nella query. Access, infatti, non può creare nuovi record nella tabella "molti" se non verifica la possibilità di collegarli ad un record della tabella primaria. Ad esempio, Access non può creare nuovi ordini in una query basata sulle tabelle Clienti e Ordini, se il campo IdCliente della tabella Ordini non è stato incluso nella query.
Access Query: nascondere un campo É possibile utilizzare un campo per selezionare i record che soddisfano un certo criterio senza visualizzarlo nel recordset. Questa opzione è utile quando tutti i record soddisfano lo stesso criterio e pertanto non è necessario visualizzare il campo. Per esempio, si desidera creare una query per visualizzare i clienti nella regione Southeast. II campo Regione deve essere aggiunto alla query per poter inserire il criterio di selezione, ma non è necessario disporne nel recordset poiché presenterebbe sempre lo stesso valore (Southeast). In questo caso è utile nascondere il campo contenente il criterio. La griglia di creazione query dispone della riga Mostra con una casella di controllo per ogni campo. Se tale casella è selezionata, il campo è incluso nel recordset. Tutte le caselle di controllo presenti nella riga Mostra sono implicitamente selezionate.
Access Query: nascondere un campo Supponiamo ad esempio di non voler visualizzare il campo “Nome” dei clienti nella prima query considerata.
Access stampare una query II recordset prodotto dalla query può essere stampato. La stampa del recordset può avvenire dopo aver eseguito la query, o dal Riquadro Spostamento. Con l'attivazione della stampa del recordset dal Riquadro di Spostamento, Access esegue la query, inviando il risultato alla stampante e non a schermo.
Access eliminare una query Una query può essere eliminata come qualsiasi altro oggetto del database. L'eliminazione di una query non ha alcun effetto sui dati che visualizzava.
Access le maschere Le maschere, analogamente al foglio dati, possono essere utilizzate per visualizzare e per modificare le informazioni. Possiamo inoltre utilizzarle per presentare i dati in modo personalizzato e più professionale. Possono essere create per visualizzare tutti i campi di un record in una sola schermata, eliminando lo scorrimento per visualizzare tutti i campi. In una maschera è possibile presentare informazioni provenienti da tabelle correlate. Access utilizza sei tipi fondamentali di maschere: a colonne, tabulare, foglio dati, giustificato, tabella pivot grafico pivot.
Access le maschere In una maschera a colonne i nomi dei campi sono elencati sul lato sinistro, mentre i valori in essi contenuti sono presentati in una colonna sul lato destro. Se lo spazio sullo schermo lo consente, possono essere presenti più colonne. In una maschera tabulare i nomi dei campi sono affiancati e posizionati sulla parte superiore della maschera, mentre i valori in essi contenuti sono opportunamente incolonnati sotto i nomi dei campi. Una maschera di tipo foglio dati è simile alla visualizzazione Foglio dati delle tabelle e delle query. In una maschera di tipo giustificato i nomi dei campi sono visualizzati sopra i valori correlati (su righe alternate) uno di seguito all'altro, andando a capo fino a riempire lo schermo. In visualizzazione Tabella pivot e Grafico pivot è possibile modificare dinamicamente il layout di una maschera in modo da analizzare anche graficamente i dati in modi diversi. È possibile, ad esempio, ridisporre le intestazioni di riga e di colonna e filtrare i campi fino a ottenere il layout desiderato. Ogni volta che si modifica il layout, i dati della maschera vengono immediatamente ricalcolati in base alla nuova disposizione.
Access Creazione Maschere Selezionare Altre Maschere nel gruppo Maschere della scheda Crea Oppure cliccare sul link di una delle varie modalità di creazione di maschere: Crea una maschera in visualizzazione Struttura Maschera Crea una maschera Foglio Dati Etc…
Access Creazione guidata maschera Bisogna scegliere quali campi importare e da quale fonte attingere (sia essa una query o una tabella) e premere avanti. aggiunge un campo. aggiunge tutti i campi. Scegliere il layout più adatto: A colonne Tabulare Foglio dati (non sempre disponibile) Giustificato (non sempre disponibile) Successivamente si deve selezionare lo stile (cioè la veste grafica) più appropriato, e premere avanti. Infine: Dare un nome alla maschera creata Scegliere l’opzione desiderata (viene posta all’utente la possibilità di aprire subito la maschera oppure di modificarla tramite la Visualizzazione Struttura) Premere su Fine
Access Creazione guidata maschera
Access aprire una maschera Dopo aver creato una maschera questa appare nell'elenco delle maschere nel Riquadro di Spostamento. Desiderando utilizzare una maschera, è necessario aprirla in visualizzazione Maschera e tale operazione può essere fatta selezionando la maschera stessa e quindi premendo il pulsante Apri della finestra database oppure facendo doppio clic sul nome o sull'icona della maschera stessa. Una maschera può anche essere aperta in visualizzazione Struttura premendo l'omonimo pulsante della finestra database. In questa modalità si può personalizzare l'aspetto della maschera spostando, ridimensionando o cancellando i controlli esistenti o inserendone di nuovi.
Access modificare una maschera Per modificare una maschera creata accedere alla visualizzazione Struttura.
Access eliminare una maschera Una maschera può essere eliminata come qualsiasi altro oggetto del database. La cancellazione di una maschera non ha alcun effetto sui dati della tabella sottostante.
Access maschere in visualizzazione struttura Si può accedere alle proprietà di ogni oggetto selezionato premendo il bottone oppure dal menu contestuale: Formato: per personalizzare il modo in cui vengono visualizzati e stampati numeri, date, ore e testo. Stile bordo Colore sfondo Colore primo piano Aspetto Dimensione e tipo carattere Anche al corpo si possono modificare le proprietà come il colore riempimento e lo sfondo. La maschera può essere allargata trascinando il bordo laterale a destra La maschera può essere allungata trascinando il bordo inferiore di ogni sua parte (Intestazione, Corpo, Piè di pagina).
Access maschere in visualizzazione struttura Tutti gli oggetti possono essere sottoposti a ridimensionamento e riposizionamento. Una volta effettuati tutti i cambiamenti dovuti alla maschera possiamo vedere il risultato,chiudendo la Visualizzazione Struttura e aprendo la maschera, oppure semplicemente premendo il pulsante (visualizzazione maschera) a sinistra della barra Multifunzione. Si possono anche aggiungere altri oggetti come (la data corrente, un immagine, oppure qualsiasi altro oggetto OLE).
Access APPLICARE UN FILTRO AD UNA MASCHERA La ricerca di informazioni tramite una maschera non può basarsi unicamente sullo scorrimento dei record. Per semplificare le ricerche, Access consente di utilizzare, anche sulle maschere, le stesse modalità di filtro già apprese per le tabelle: Filtro in base a selezione Filtro in base a maschera Filtro per Ordinamento/filtro avanzato L'applicazione di un filtro è reso evidente dalla presenza della scritta “(Filtrati)” accanto ai pulsanti di spostamento record e della scritta “Filtrati” sulla barra di stato.
Access APPLICARE UN FILTRO AD UNA MASCHERA Vediamo un esempio di filtraggio su maschere.
Access RIMUOVERE/ELIMINARE UN FILTRO DA UNA MASCHERA I filtri sono salvati con la maschera e pertanto possono essere facilmente riapplicati utilizzando nuovamente lo strumento Applica filtro. Desiderando eliminare dalla maschera la presenza del filtro è possibile farlo utilizzando la stessa tecnica utilizzata per pulire la griglia di un filtro in base a maschera nelle tabelle. Si noti che esiste una sostanziale differenza tra Rimuovere ed Eliminare un filtro. La rimozione del filtro determina la visualizzazione dell'intero set di record ma resta memorizzato nella maschera e quindi può essere riapplicato. L’eliminazione del filtro lo cancella fisicamente anche della maschera e pertanto non potrà essere riapplicato. Rimuovere il filtro Premere “Rimuovi filtro” sulla barra Multifunzione Eliminare il filtro Premere Avanzate -> “Cancella tutti i filtri” sulla barra Multifunzione
Access AGGIUNGERE INTESTAZIONE E PIÈ Di PAGINA ALLA MASCHERA Utilizzando la creazione guidata maschera viene creata automaticamente l’Intestazione e Piè di pagina maschera. Tali sezioni possono essere visualizzate e modificate solo in Visualizzazione Struttura della maschera. L'intestazione e il piè di pagina di una maschera vengono visualizzati rispettivamente nella parte superiore e inferiore della maschera e possono essere aggiunte solo in coppia. Desiderando solo l'intestazione ma non il piè di pagina è necessario nascondere il piè di pagina ponendo la sua altezza uguale a zero.
Access Modificare INTESTAZIONE E PIÈ Di PAGINA ALLA MASCHERA
Access LA STAMPA DI RECORD IN UNA MASCHERA La maschera corrente può essere stampata utilizzando la finestra di dialogo “Stampa”. Si può decidere di stampare tutti i record, pagine specifiche o record selezionati. Aprire il database desiderato. Aprire la maschera desiderata nel Riquadro di Spostamento. Selezionare il pulsante di Office. Selezionare il comando Stampa. Selezionare l'opzione Record selezionato/i. Selezionare OK.
Access creazione di maschere standard Una maschera può essere creata anche utilizzando la funzionalità Maschera standard. Tale funzionalità crea automaticamente una maschera a colonne, tabulare, foglio dati, tabella pivot o grafico pivot partendo da una tabella o da una query senza visualizzare alcuna finestra di dialogo e senza richiedere informazioni addizionali. Bisogna comunque ricordarsi di selezionare una tabella o una query prima di iniziare il processo di creazione. Tutti i campi presenti nella tabella o selezionati dalla query saranno riportati nella maschera ed il nome assegnato alla maschera sarà il nome della tabella o della query. La funzione Maschera standard non prevede il salvataggio automatico della maschera. Alla prima chiusura una finestra messaggio chiederà se le modifiche devono essere salvate.
Access creazione di maschere standard
Access AGGIUNTA DI RECORD MEDIANTE UNA MASCHERA Le maschere sono frequentemente utilizzate per aggiungere record. Sono più semplici da utilizzare rispetto alle tabelle, in quanto tutti i campi possono essere visualizzati contemporaneamente, eliminando l'onere dello scorrimento. Durante l'inserimento dei dati: Il posizionamento sui campi è assicurato dal tasto [Invio]. Dovendo saltare alcuni campi, si può utilizzare il tasto [Tab], fino a raggiungere il campo desiderato, oppure fare clic col pulsante del mouse nel campo interessato. La combinazione di tasti [Maiusc+Tab] consente il posizionamento sul campo precedente. Premendo il tasto [Invio] dopo aver inserito l'ultimo campo del record, questo viene salvato automaticamente e si presenta una maschera vuota per consentire l'inserimento di un altro record.
Access AGGIUNTA DI RECORD MEDIANTE UNA MASCHERA
Access MODIFICARE UN RECORD MEDIANTE UNA MASCHERA Quando una maschera visualizza i record di una tabella o di una query il cui recordset è modificabile, allora la modifica dei dati di un campo della maschera si ripercuote sulla tabella o sul recordset della query sottostante. Passando ad altro record o chiudendo la maschera il record modificato sarà salvato automaticamente come già visto per le tabelle. Nel caso si commettano errori durante la digitazione si possono adottare le stesse tecniche normalmente utilizzate nella scrittura dei dati direttamente nelle tabelle. Per correggere un errore di battitura utilizzare il tasto [Backspace]. Per annullare le modifiche al campo corrente, premere [Esc]. Per annullare tutte le modifiche al record premere nuovamente [Esc] prima di uscire dal campo.
Access MODIFICARE UN RECORD MEDIANTE UNA MASCHERA
Access Eliminare RECORD MEDIANTE UNA MASCHERA In visualizzazione maschera è possibile eliminare un record allo stesso modo in cui lo si elimina nella visualizzazione foglio dati di una tabella (mediante il pulsante ). Inoltre, se la maschera visualizza il Selettore record, è anche possibile premere il selettore e quindi il tasto [Shift] per rimuovere più record. II selettore è la barra verticale, posizionata all'estrema sinistra della maschera, che include un piccolo triangolo in assenza di modifiche o una matita durante le modifiche.
Access Eliminare RECORD MEDIANTE UNA MASCHERA