Politecnico di Milano Corso di Sistemi Informatici A.A. 2004/2005 Access™ 2000 - Le Query Luca De Ponti e-mail: [email protected] Lucidi realizzati da: Danilo Ardagna, Cinzia Cappiello e Pierluigi Plebani Politecnico di Milano Corso di Sistemi Informatici A.A. 2004/2005 • Uso dei fogli dati • Query di selezione Access 2000 ™ - Query di selezione Indice Politecnico di Milano Corso di Sistemi Informatici A.A. 2004/2005 Visualizzazione dei dati • Recordset: – Record corrente – Navigazione • Formato del foglio dati: – Altezza/larghezza righe e colonne – Posizione delle colonne – Colonne nascoste e bloccate – Rimozione della griglia • Sostituzioni – Sostituire Novotel con Hilton nella tabella Albergo Access 2000 ™ - Query di selezione Politecnico di Milano Corso di Sistemi Informatici A.A. 2004/2005 Ordinamento dei dati • Ordinamento dei singoli campi • Filtri avanzati: – Visualizzare la tabella Cliente in ordine crescente secondo i campi Cognome e Nome – Visualizzare la tabella Pernottamento in ordine crescente secondo DataArrivo e Totale • Comando Trova (Formattazione Date) – Trovare le prenotazioni del mese di gennaio • Filtro in base a selezione – Trovare le prenotazioni per la stanza 102 all’Hotel Ibis di Milano • Filtro in base a maschera: – Ricercare le prenotazioni del mese di gennaio in alberghi romani Access 2000 ™ - Query di selezione Politecnico di Milano Corso di Sistemi Informatici A.A. 2004/2005 Query di selezione • Selezionare le camere dell’Hotel Hilton di Tolosa • Selezionare le prenotazioni di gennaio 2001 • Selezionare le camere matrimoniali con più di 3 letti • Calcolo di valori: per ogni prenotazione calcolare il numero di giorni di permanenza del cliente Access 2000 ™ - Query di selezione Politecnico di Milano Corso di Sistemi Informatici A.A. 2004/2005 Query di selezione • Selezionare le camere dell’Hotel Hilton a Tolosa e Parigi • Trovare le prenotazioni per la stanza 102 all’Hotel Ibis di Milano nel mese di settembre del 2000 • Selezionare i pernottamenti saldati la cui prenotazione è avvenuta nei mesi di gennaio ed in cui la differenza tra anticipo e totale è stato superiore a L. 100.000 Access 2000 ™ - Query di selezione Politecnico di Milano Corso di Sistemi Informatici A.A. 2004/2005 Funzioni di data e ora Funzione Descrizione Day(data) Restituisce un valore da 1 a 31 indicante il giorno del mese Restituisce un valore da 1 a 12 indicante il mese dell’anno Restituisce un valore da 100 a 9999 indicante l’anno Restituisce un valore da 1 (domenica) a 7 (sabato) indicante il giorno della settimana Month(data) Year(data) Weekday(data) Access 2000 ™ - Query di selezione Politecnico di Milano Corso di Sistemi Informatici A.A. 2004/2005 Funzioni di data e ora Funzione Descrizione Hour(data) Restituisce un valore da 0 a 23 indicante l’ora del giorno Restituisce una porzione della data o dell’ora che dipende dal codice di intervallo specificato (es. con il codice “q” viene restituito un valore da 1 a 4 che corrisponde al trimestre dell’anno; con il codice “ww” viene restituito un valore da 1 a 53 che corrisponde alla settimana dell’anno) Restituisce la data corrente del sistema DatePart(intervallo; data) Date() Access 2000 ™ - Query di selezione Politecnico di Milano Corso di Sistemi Informatici A.A. 2004/2005 Query di selezione • Determinare l’elenco dei clienti e del loro indirizzo completo (uso del generatore di espressioni) • Selezionare i pernottamenti ad oggi non confermati • Ordinamento dei risultati delle query • Query di totalizzazione: – Determinare per ogni albergo il numero di camere – Determinare gli alberghi con più di 8 camere – Valutare la media dell’importo dei pernottamenti dell’Hotel Ibis di Londra Access 2000 ™ - Query di selezione Politecnico di Milano Corso di Sistemi Informatici A.A. 2004/2005 Funzioni di aggregazione Funzione Descrizione Somma Calcola la somma di tutti i valori del campo in ogni gruppo. Può essere utilizzata solo per campi di tipo Numerico e Valuta Calcola la media aritmetica dei valori del campo in ogni gruppo. Può essere utilizzata solo per campi di tipo Numerico e Valuta Calcola il minimo valore presente per il campo in ogni gruppo. Per i campi numerici Min restituisce il valore minimo; per i campi testo, Min restituisce il valore più basso in ordine alfabetico indipendentemente dalle maiuscole Media Min Access 2000 ™ - Query di selezione Politecnico di Milano Corso di Sistemi Informatici A.A. 2004/2005 Funzioni di aggregazione Funzione Descrizione Max Calcola il massimo valore presente per il campo in ogni gruppo. Per i campi numerici Max restituisce il valore massimo; per i campi testo, Max restituisce il valore più alto in ordine alfabetico indipendentemente dalle maiuscole Restituisce il numero delle righe in cui il campo non assume valore NULL Calcola la deviazione standard dei valori del campo in ogni gruppo. Può essere utilizzata solo per campi di tipo Numerico e Valuta. Se il gruppo non contiene almeno due righe viene restituito un valore NULL Conteggio DevSt Access 2000 ™ - Query di selezione Politecnico di Milano Corso di Sistemi Informatici A.A. 2004/2005 Funzioni di aggregazione Funzione Descrizione Var Calcola la varianza dei valori del campo in ogni gruppo. Può essere utilizzata solo per campi di tipo Numerico e Valuta. Se il gruppo non contiene almeno due righe viene restituito un valore NULL Restituisce il valore del campo per la prima riga incontrata nel gruppo. N.B. la prima riga potrebbe non essere quella con il valore minimo Restituisce il valore del campo per l’ultima riga incontrata nel gruppo. N.B. l’ultima riga potrebbe non essere quella con il valore massimo Primo Ultimo Access 2000 ™ - Query di selezione Politecnico di Milano Corso di Sistemi Informatici A.A. 2004/2005 Query di selezione • Uso di parametri nelle query: determinare i pernottamenti non confermati a partire da una certa data specificata dall’utente • Ricerca in Tabelle Multiple: determinare l’elenco dei clienti che hanno pernottato negli alberghi di Parigi (clausola distinct) • Determinare per ogni cliente l’elenco degli alberghi in cui ha pernottato • Determinare l’elenco dei clienti che hanno pernottato a Parigi (sfruttando la query precedente) Access 2000 ™ - Query di selezione Politecnico di Milano Corso di Sistemi Informatici A.A. 2004/2005 Query di selezione • Determinare per ogni cliente, l’elenco delle camere in cui ha pernottato indicando se la camera era singola o matrimoniale • Determinare l’elenco dei clienti che hanno occupato camere singole (usare la query precedente) • Determinare per ogni cliente il numero medio di giorni di permanenza negli alberghi della catena (suggerimento: determinare prima il numero di giorni di permanenza di ogni pernottamento) Access 2000 ™ - Query di selezione Politecnico di Milano Corso di Sistemi Informatici A.A. 2004/2005 Limiti all’uso delle query di selezione per l’aggiornamento dei dati • Non è possibile modificare un campo calcolato • Non è possibile modificare query di totalizzazione • Non è possibile modificare i campi chiave del lato uno del risultato di un join a meno che non sia impostata la modifica a catena • I campi contatore non possono essere modificati Access 2000 ™ - Query di selezione