Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

Corso di Microsoft Access

informatica



Corso di Microsoft Access

Dopo aver imparato come creare le tabelle e quali tabelle creare per avere un database efficace ed efficiente, cominceremo a vedere come estrarre le informazioni che ci necessitano.
Infatti la semplice visualizzazione dell'intera tabella con tutti i dati in essa contenuti non è quasi mai il modo migliore di effettuare una ricerca. Nel caso avessimo a disposizione una tabella che contenga gli indirizzi di tutti gli abitanti di una città e volessimo cercare l'indirizzo del sig. Mario Rossi, sarebbe molto inefficiente doverla aprire e scorrere tutte le righe fino a quando non troviamo il nominativo. Sarebbe ancora più complicato vedere gli acquisti fatti dal sig. Mario Rossi presso la ditta XXX nell'anno 2002 (in questo caso dovremmo fare ricerche su più tabelle).
Per ricercare ed estrarre queste informazioni da un database Access (e fare anche molte altre cose) dobbiamo costruire delle query o interrogazioni.
Le query sono composte da una serie di istruzioni che dicono al database cosa fare con i dati di una o più tabelle. In particolare vedremo che tramite queste istruzioni sarà possibile cercare dati, modificarli, inserirne di nuovi o cancellarli. Inizialmente ci concentreremo sulle query cosiddette di selezione, cioè quelle che ci permettono di ricercare dati.

Le istruzioni che compongono le query vengono fornite con il linguaggio SQL (Structur 545d38f ed Query Language), che è il linguaggio utilizzato da tutti i database. Access SQL è un dialetto del linguaggio SQL standard, ma vi si avvicina molto. Più avanti nel corso tratteremo brevemente anche il linguaggio SQL, ma per adesso utilizzeremo altri metodi per la creazione di query. 
Esistono tre modi per costruire query:
usando la creazione guidata
usando la visualizzazione struttura
immettendo direttamente istruzioni SQL
Approfondiremo tutti e tre questi metodi; in questa lezione utilizzeremo la creazione guidata.
Una cosa essenziale da ricordare prima di partire è che le query di Access sono dinamiche; questo significa che le informazioni che verranno visualizzate sono modificabili: se si cambia il valore di un campo da una query la modifica si rifletterà sulla tabella corrispondente, come se la modifica fosse stata fatta sulla tabella stessa.
E adesso partiamo con la nostra prima query.
Dopo aver aperto il nostro database dove saranno presenti una o più tabelle, andiamo nella sezione query della finestra Database; doppio click sull'opzione Crea una query mediante una creazione guidata.




Nella casella combinata in alto è possibile scegliere da quale tabella si vogliono estrarre i dati (nell'esempio la tabella fornitori); sotto sono riportati i campi contenuti nella tabella scelta; a destra, cliccando sul pulsante con la freccia, vengono riportati i campi che vogliamo siano inseriti nella query (per esempio il Nome, l'Indirizzo e la Città). Cliccando Avanti è possibile dare un nome alla query (es. indirizzo_fornitori) e premendo il bottone Fine la query viene creata e subito eseguita. Viene mostrata una finestra che contiene i campi specificati in precedenza e tutti i dati in essi contenuti.
Nell'esempio indicato avremo tutti i nomi dei fornitori, gli indirizzi e le città. Avremmo potuto mettere qualsiasi altro campo della tabella, anche tutti, replicando, in questo caso, l'intera tabella.
E' possibile ordinare alfabeticamente i record cliccando con il tasto destro del mouse su una colonna e scegliendo l'ordinamento crescente o decrescente.

Una volta chiusa la finestra, la query rimarrà sempre a disposizione e potrà essere richiamata in qualsiasi momento.

Questo è il metodo più semplice per creare query, ma anche il più limitante. La prossima volta vedremo di utilizzare metodi che consentono maggiori possibilità.

Le Query - creazione con visualizzazione-struttura
Lezione 8

La creazione di query in visualizzazione struttura permette una maggiore flessibilità, cioè ci permette di impostare molti più parametri e tutto ciò si traduce in query più utili.

Vediamo ora come funziona. Iniziamo da una query semplice come quella della lezione precedente.
In questa e altre lezioni utilizzerò alcune tabelle del database Northwind.mdb che, essendo fornito con Access, tutti dovrebbero avere; in questo modo gli esempi possono essere seguiti con più facilità. Per fare delle prove consiglio di copiare il file e rinominarlo in modo da non sporcare l'originale con oggetti di database che sono delle semplici prove.

Partenza!
Doppio click su Crea una query in visualizzazione struttura; si aprono due finestre: in primo piano Mostra tabella ed in secondo piano la finestra di struttura. Tramite la finestra in primo piano è possibile scegliere la tabella (o le tabelle) interessate dalla query. Per ora selezioniamo la tabella fornitori, click su aggiungi e chiudiamo la finestra.

La finestra di struttura è suddivisa in due parti: quella superiore contiene le tabelle che abbiamo scelto, quella inferiore contiene la griglia per impostare i comandi della query. Analizziamo la griglia: le colonne servono per impostare i comandi relativi ad ogni singolo campo interessato dalla query; la prima riga contiene l'indicazione del campo, la seconda il nome della tabella in cui è contenuto il campo, la terza il tipo di ordinamento che deve essere seguito nella presentazione dei dati (ascendente, discendente o nessun ordinamento), la quarta permette di mostrare o meno i dati di una colonna comunque inclusa nella query (vedremo più avanti l'utilità di tale opzione) e gli ultimi due contengono i criteri per l'esposizione solo di alcuni dati.
In concreto si individuano nella tabella Fornitori i campi i cui dati riteniamo di nostro interesse (ad esempio in questo caso NomeSocietà, Indirizzo e Città) dopodiché dobbiamo riportarli nella prima riga delle colonne della griglia. Ci sono diversi modi per fare questo, ma il più semplice è un doppio click su ciascuno dei campi interessati: Access si occuperà di riempire la griglia.

A questo punto abbiamo già impostato la stessa query della lezione precedente. Con Visualizza e Visualizza foglio dati, avremo il risultato della query, cioè un elenco di fornitori di cui verranno mostrati il nome, l'indirizzo e la città.
Se avessimo voluto inserire tutti i campi della tabella, anziché riportarli uno per volta nella griglia, avremmo potuto cliccare sull'asterisco che sta in cima alla tabella. Il simbolo dell'asterisco significa che tutti i campi della tabella devono essere inseriti nella query.
Comunque fino a qui ci eravamo arrivati anche con la creazione guidata. Vediamo cosa possiamo fare in più:
Innanzi tutto possiamo decidere che vogliamo che i nostri fornitori ci vengano mostrati con un ordinati alfabeticamente: torniamo in visualizzazione struttura e in sulla riga ordinamento in corrispondenza del campo NomeSocietà impostiamo Crescente. Tornando al foglio dati vedremo che i nostri fornitori sono in ordine alfabetico.

E' possibile anche impostare dei criteri che limitano la visualizzazione dei soli dati che soddisfano determinate condizioni: è possibile visualizzare gli indirizzi dei fornitori che hanno la sede a Parigi. Basta scrivere Parigi racchiuso tra virgolette nella riga criteri della colonna Città. Il foglio dati conterrà solo i fornitori con sede in quella città.
Se vogliamo un elenco di fornitori con sede a Parigi e a Berlino basta aggiungere l'operatore or e Berlino al criterio impostato in precedenza (attenzione solo i nomi delle città vanno messi tra virgolette).
Se invece cerchiamo uno specifico fornitore è possibile inserire il nome della società nella riga criteri dell'apposito campo.
E' possibile inserire due criteri; ad esempio si cerca la ditta XXX o una ditta con sede a Parigi. In questo caso nella riga criteri della colonna NomeSocietà verrà inserito XXX e nella riga Oppure della colonna Città verra inserito Parigi.

Come si vede da questi banali esempi la flessibilità di queste query è notevole. Lo è particolarmente tenendo conto dei vari operatori e comandi che possono essere utilizzati per scegliere quali dati mostrare. Di seguito si fornisce un elenco di esempio di alcuni comandi e relativa spiegazione. Tutti questi comandi vanno inseriti nella riga criteri del campo che si vuol filtrare. L'elenco non ha la pretesa di essere esaustivo, ma solo di esempio.

Comando

Risultato

Between #01/01/2000# and #31/12/2000#

Restituisce i dati compresi tra il 01/01/2000 ed 31/12/2000 inclusi

In ("Roberto", "Mario", "Marco")

Restituisce i record che contengono le parole tra virgolette

IsNull

Restituisce i record vuoti


Cinque caratteri qualsiasi

< 100

Inferiore a 100


Uguale a 100

Like "r*"

Restituisce i record che iniziano per r (seguita da qualunque altro carattere)

Like "*r"

Restituisce i record che finiscono per r

Like "[a - d]*"

Restituisce I record che iniziano per a - b - c - d seguiti da qualunque altro carattere

Like "[a - d]?"

Restituisce I record che iniziano per a - b - c - d seguiti da un solo carattere

Like "Ma?co"

Restituisce I record che cominciano per Ma seguiti da un solo carattere e finiscono per co



Query su piu' tabelle
Lezione 9

Estrarre i dati da una sola tabella è senz'altro utile, ma ci fornisce solo una minima parte delle informazioni contenute in un database: il processo di normalizzazione tende infatti a "spezzettare" i dati tra tante tabelle. E' pertanto indispensabile interrogare contemporaneamente più tabelle per avere informazioni complesse e più complete. Se interroghiamo la tabella fornitori avremo i nominativi di coloro da cui compriamo la merce e se interroghiamo la tabella prodotti avremo l'elenco delle merci acquistate; ma solo interrogando queste tabelle insieme potremo sapere da chi compriamo un certo prodotto, o quanti e quali prodotti ci vende un certo fornitore.
Creare query su più tabelle è estremamente semplice, l'importante è ricordarsi che per avere dati significativi si devono interrogare tabelle che siano legate tra loro da una relazione.
Come già detto, anche in questa lezione e nelle prossime utilizzeremo come esempio alcune tabelle del database Northwind.mdb che tutti dovrebbero avere essendo fornito con Access.
Per creare query su più tabelle bisogna ricorrere alla creazione in visualizzazione struttura. Doppio click su Crea una query in visualizzazione struttura; dalla finestra Mostra tabella aggiungiamo la tabella Fornitori e, senza chiudere la finestra, aggiungiamo anche la tabella Prodotti. Nella parte superiore della finestra di struttura avremo le due tabelle collegate da una riga che unisce i campi mediante cui le due tabelle sono messe in relazione.
Facciamo un doppio click prima su NomeProdotto della tabella Prodotto e poi su NomeSocietà della tabella Fornitori: la query è già fatta, infatti se andiamo in visualizzazione foglio dati vedremo un elenco di tutti i prodotti ognuno dei quali ha accanto il corrispondente fornitore.

Se poi volessimo sapere anche il nome del contatto per ogni fornitore basterebbe tornare in visualizzazione struttura e cliccare due volte sul Contatto nella tabella Fornitori.
La logica che è dietro a questo tipo di query è molto semplice; tra le tabelle Prodotti e Fornitori vi è una relazione di uno a molti, cioè un fornitore ci può vendere più prodotti, ed un prodotto viene acquistato solo da un fornitore (non è detto che sia un esempio molto reale). Access non fa altro che estrarre dalle due tabelle i campi che sono stati scelti (nell'esempio il campo NomeProdotto della tabella Prodotto ed i campi NomeSocietà e Contatto della tabella Fornitori) e ordinarli secondo la relazione, elencando i prodotti ed riportando accanto il nome del fornitore ed il nome del contatto.
Se poi anziché un elenco volessimo sapere il fornitore di un certo prodotto basta indicare nella riga criteri della colonna NomeProdotto il nome del prodotto stesso. Il risultato in visualizzazione dati sarà una tabella di una sola riga con i dati richiesti. Se invece volessimo sapere la società X che cosa ci fornisce non dovremmo fare altro che indicare il nome della società nella riga criteri della colonna NomeSocietà. Ancora, se la ricerca avvenisse partendo dal nome del contatto basterebbe inserire come criterio il nominativo del contatto.
In altre parole tutto quanto detto nella lezione precedente in tema di criteri di ricerca, criteri di ordinamento ecc. vale anche per le query su più tabelle.


In questa lezione continueremo a parlare di query su più tabelle, analizzando casi un po' più complessi rispetto a quelli della lezione precedente. Più che parlare di casi astratti faremo solo degli esempi che permettano di capire le potenzialità e ciò che è possibile fare con le query, in modo che ognuno possa costruirne di proprie secondo le necessità.
Anche in questo caso prendiamo il nostro database Northwind ed in creazione query in visualizzazione struttura, inseriamo le tabelle Clienti, Ordini, Dettaglio Ordini, Prodotti. Come si vede le quattro tabelle sono collegate l'una a l'altra da un qualche tipo di relazione.
Da queste quattro tabelle possiamo estrarre un gran numero di informazioni. Per esempio scegliendo di visualizzare i campi NomeSocietà, DataOrdine e NomeProdotto, otterremo come output l'elenco totale delle vendite effettuate ove per ogni cliente verrà individuato in quale data è stato fatto l'ordine e quali prodotti sono stati venduti.
La prima cosa che si nota è che sono state selezionate quattro tabelle, ma vengono estratti dati solo da tre di esse; non viene estratto nessun dato dalla tabella dettaglio ordini. Nonostante ciò la tabella Dettaglio Ordini è essenziale per costruire questa query, dal momento che fa da raccordo fra la tabella Ordini e la tabella Prodotti non legate da relazione diretta. Se non fosse stata inclusa nella query questa tabella, i risultati sarebbero stati completamente diversi (provare per credere). I campi NomeSocietà e DataOrdine, sarebbero stati correlati (e cioè per ogni società sarebbe stata riportata la data dell'ordine), ma la colonna prodotti avrebbe semplicemente riportato l'elenco dei prodotti senza nessuna correlazione né con il cliente né con la data dell'ordine.


Pertanto, quando si estraggono dati complessi, è indispensabile includere nella query tutte le tabelle che assicurano il collegamento tra i dati che si vogliono estrarre. Ho sottolineato i dati che si vogliono estrarre perché questo non vuol dire che si devono includere tutte le tabelle che hanno delle relazioni ma che nella query non servono.

Immettendo qualche tipo di criterio possiamo effettuare delle ricerche particolari. Per esempio inserendo il nome di una società cliente (riportando il nome della società tra virgolette nella riga criteri della colonna NomeSocietà) verranno visualizzate tutte le vendite fatte a questa società ed il nome dei prodotti venduti.
Inserendo anche una data (nella riga criteri della colonna DataOrdine) è possibile visualizzare i dati di un singolo ordine (il cliente, la data dell'ordine ed i prodotti venduti).
Se aggiungiamo anche i campi PrezzoUnitario, Quantità e Sconto della tabella Dettaglio Ordini otteniamo tutti i dati necessari per poter stampare una fattura (nelle prossime lezioni vedremo come fare a calcolare, con questi dati, anche il totale da pagare).

Sostituendo il campo Città al campo NomeSocietà è possibile avere una ripartizione territoriale delle vendite e cioè si può vedere quali prodotti sono stati acquistati in ogni città ed in quali date. Ovviamente inserendo nei criteri il nome della città è possibile vedere quali prodotti vengono acquistati in una certa area territoriale.

E' evidente a questo punto che con le query è possibile estrarre tutti i dati che vengono immagazzinati nel database e riclassificarli e riorganizzarli a nostro piacimento con estrema facilità.







Privacy




Articolo informazione


Hits: 2929
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024