Esercizi con Access
Innanzitutto che cos'è una tabella ? Una tabella non è altro che un contenitore di dati elementare, che non può mancare in alcun database.
La tabella serve per inserire nuovi dati, ma prima ancora serve a definire il tipo di dati che deve ospitare.
E' sempre obbligatorio specificare un nome per ogni dato, che chiameremo anche 'campo', e naturalmente un nome per la tabella stessa, per poterla distinguere da altre eventuali tabelle che andremo a 'salvare' nel nostro database.
Attenzione! Non confondere la tabella con la maschera!
Per chiarire subito la differenza, ecco come appare una tabella, dopo che l'avremo costruita passo passo (figura 1).
ed ecco invece come appare una possibile maschera, costruita sulla stessa tabella (figura 2).
Notate la differenza ? La tabella è una semplice matrice di righe e di colonne, il cui aspetto ricorda il foglio elettronico di Excel, mentre la maschera è una 'schermata' molto più 'attrezzata' e più 'fruibile' per l'utente del database, cioè per colui che dovrà per esempio modificare, aggiungere, eliminare dati, che qui chiameremo 'records', oppure per aprire altre finestre, come l'anteprima di questo esempio, il quale altro non è che un 'controllo pulsante di comando'.
Ci sono ancora alcune cose a mio avviso molto importanti da sottolineare, prima di passare alla costruzione della nostra tabella, passo passo:
* Sia l'intero database che la singola tabella sono 'contenitori' elementari di 'dati'.
* Non è possibile progettare un database di access senza definire almeno la struttura di una tabella e senza aggiungere qualche riga di valori in essa
* Un database può contenere una sola tabella oppure tante tabelle, dipende da chi l'ha progettato
* Il concetto di 'dato' è molto generico: a seconda del contesto al posto della parola 'dato' è opportuno utilizzare altri termini, come 'campo' (la colonna di una tabella) , o come 'record' (l'insieme dei valori di una riga);
* Quando si crea la struttura di una tabella, occorre tenere ben presente che non si tratta soltanto di definire i nomi dei campi, ma anche di definirne alcune proprietà, quali il tipo (testo, numerico, data, memo,ecc.), la dimensione in caratteri, le regole di convalida, ecc.
Cominciamo dunque!
Apriamo un database esistente di Access, oppure ne definiamo uno nuovo, dandogli naturalmente un nome, nel nostro caso il database si chiama: Inventario Domestico.mdb. Facciamo 'click' sul menù 'Inserisci', quindi sulla voce 'Tabella', nella finestra di dialogo riprodotta qui sotto selezionamo 'Visualizzazione Struttura' (figura 3).
Quella che segue è la finestra di dialogo visualizzazione struttura di una nuova tabella, chiamata provvisoriamente da Access 'Tabella1' (figura 4); a differenza di quando creiamo un nuovo database, qui il nome della nuova tabella verrà richiesto alla fine dell'operazione di definizione della struttura, che è l'operazione di cui ci stiamo occupando ora.
Notiamo che finestra di dialogo è composta di una parte superiore con 3 colonne e più righe in bianco, e di una parte inferiore con una sezione a 2 lembi (Generale e Ricerca) nella parte sinistra, e infine di una sezione di commento nell'angolo inferiore destro.
Il consiglio è di 'leggere' sempre questo commento, poichè questo viene fornito automaticamente da Access stesso e varia in funzione del contesto, cioè di quello che sta facendo l'utente (colui che sta progettando il database, non quello che lo utilizzerà!) in uno specifico momento, il commento contiene utilissime informazioni soprattuto per i principianti.
Iniziamo con il primo campo, che chiameremo 'IDInventarioDomestico' e che andremo ad inserire in corrispondenza della prima colonna, che si chiama 'Nome campo' appunto. Nella seconda colonna, di nome 'Tipo dati' , a compilazione obbligatoria, specifichiamo ora 'Contatore' (figura 5).
E' buona norma iniziare il primo campo di ogni tabella con un campo di tipo contatore, cioè un campo che conterrà valori numerici che si autoincrementano di 1 unità ogni volta che l'utente-utilizzatore aggiungerà un nuovo record (o riga) alla nostra tabella: in questo modo otteremo una 'Chiave primaria' univoca, cioè senza valori duplicati e questo agevolerà tutte le operazioni successive di ricerca, di indici, di filtri, di relazioni tra diverse tabelle, ecc.
Il campi di tipo contatore non devono necessariamente comparire nelle maschere, anzi è sconsigliato mostrarli all'utente-utilizzatore, anche se quest'ultimo non potrà mai modificarne il valore, proprio per evitare guai!
La terza colonna è disponibile per i commenti di colui che ha progettato la struttura della tabella stessa: non è obbligatoria, ma si consiglia caldamente di utilizzarla anche per ricordarsi a distanza di tempo della funzione di ciascun campo e magari delle regole di convalida più evidenti, come 'non può contenere valori a zero' oppuire 'chiave esterna per la tabella Stanze', o ancora 'può assumere i valori 1=.., 2=, 3=..',.ecc.
Passiamo al secondo campo, 'IDCategoria', che definiremo come 'Numerico' (figura 6); notate che nella sezione inferiore in corrispondenza della sottosezione 'Generale', la dimensione è impostata per default su 'Intero lungo': questa opzione va lasciata così, perchè va bene nella maggior parte dei casi (i valori di tipo Intero lungo variano da -2.147.483.648 e + 2.147.483.648) senza decimali, solo numeri interi.
Il terzo campo, 'IDStanza', viene definito in modo analogo al precedente. Perchè stiamo impostando dei campi numerici interi, senza cifre decimali, a cosa servono ? E' presto detto: servono per realizzare relazioni uno-a-molti tra la tabella che stiamo costruendo, e che si chiamerà 'Inventario Domestico' e 2 tabelle esterne, di nome 'Stanze' e 'Categorie' che conterranno le rispettive possibili descrizioni come records indipendenti: in questo modo si eliminano le ridondanze (in parole pavore: si evita di dover ripetere la stessa descrizione o lo stesso nome di stanza su occorrenze differenti del nostro inventario)
Il campo 'Descrizione' (figura 7) non presenta particolari difficoltà: si tratta di un normalissimo campo di tipo 'Testo': abbiamo specificato soltanto che la lunghezza massima deve essere di 255 caratteri, vedi sezione sottostante 'Proprietà campo', in corrispondenza della proprietà 'Dimensione campo'.
Attenzione alla proprietà 'Consenti lunghezza zero' che viene impostata per default su 'no': ciò significa che quando l'utente-utilizzatore tenterà di aggiungere records (righe) alla tabella senza aver specificato alcun valore per questo campo, Access glielo impedirà! Quindi regolatevi di conseguenza.
I campi 'Modello', 'NumeroModello' e 'NumeroDiSerie' sono anch'essi semplici campi di testo, quindi ora li tralasciamo, naturalmente vale per questi campi quanto già detto per il campo 'Descrizione'.
Per quanto riguarda invece il campo 'DataDiAcquisto' occorre specificare come Tipo dati, il tipo 'Data/ora', nel selezionarlo notiamo che Access ci permette di specificare ulteriormente il formato della data: generica, breve, estesa, ecc. selezioniamo Data in cifre come in figura 8, in questo modo stiamo dicendo ad Access di visualizzare la data (per questo campo soltanto...) nel formato GG/MM/AAAA, cioè con l'anno di 4 cifre.
Le specifiche di data e valuta impostate qui dovrebbero avere la precedenza sul quelle di sistema e che dipendono dalle rispettive impostazioni del Pannello di controllo di Windows, ma è opportuno controllare che siano almeno previste come opzioni alternative a livello di sistema operativo, in caso contrario verranno ignorate oppure potrebbero verificarsi degli errori di esecuzione in Access.
Il campo 'PrezzoAcquisto' (figura 9) ha la funzione invece di memorizzare per ciascun elemento del nostro inventario un importo valutario, (Access provvederà a visualizzare il simbolo dell'Euro ogni qualvolta si immetterà un valore nella tabella), quindi questa volta ci dovremo preoccupare del numero di decimali, che imposteremo in 2 posizioni (figura 10)
Le proprietà interessate sono 'Formato' e 'Posizioni decimali'
Per il campo 'ValoreStimato' vale quanto detto a proposito del campo 'PrezzoAcquisto'.
Per quanto riguarda invece il campo 'Assicurato' (figura 11) si tratta di un nuovo tipo: SI/NO ( o VERO/FALSO) questo tipo di campo può assumere soltanto 2 valori e si chiama anche Booleano (da Bool, il padre dell'artimetica binaria).
I campi di questo tipo sono estremamente utili nelle tabelle, perchè agevolano la definizione delle query di selezione e dei filtri, se invece volete impostare dei campi di tipo indicatore, cioè dei 'flag' (bandiera, in inglese) a 3 o più 'stati', occorre utilizzare campi numerici di tipo intero oppure campi di testo con 1 solo carattere di lunghezza, ad esempio per contenere valori come 'A', 'B', 'C', ecc.
Infine il campo 'Note', di tipo: 'Memo' (figura 12). Questo tipo di campo permette di memorizzare testi di lunghezza variabile per ciascun record (riga) fino a 64.000 caratteri.
La lunghezza massima per i campo di tipo testo è invece di 255 caratteri ed inoltre questo assorbe più spazio disco in quanto per ogni records viene riservato uno spazio identico alla lunghezza massima specificata.
Nel caso dei campi di tipo Memo, invece, se non inseriamo alcun valore in corrispondenza di un dato record (riga) non andremo a sprecare inutilmente dello spazio, velocizzando anche tutte le operazioni.
Quando abbiamo finito con l'inserimento dei campi, facciamo click su 'Salva' (icona a forma di floppy disk nella toolbar o barra degli strumenti) oppure fate click sul menù File, Salva: a questo punto Access ci chiede di dare un nome alla tabella, ad esempio 'Inventario domestico' o qualunque altro nome vogliate dargli!
Ed ecco infine come si presenta la nostra tabella (figura 13), riempita con alcune righe di dati (records). In alto avete le prime colonne (campi), qui le successive.
Prendendo spunto da questo tutorial, ora potete sbizzarrirvi a creare le vostre tabelle nel modo che riterrete più opportuno: ricordate che le tabelle sono la base ! Non preoccupatevi di fare degli errori: è proprio commettendoli che si impara!
Buon lavoro!
Importare dati da Excel in Access
Rubrica telefonica con Microsoft Access
Utilizzare Microsoft Query
Le Relazioni tra le Tabelle di Microsoft Access
Gestione Documenti con Microsoft Access
Access controllo gruppo di opzioni
Importa dati da Excel
Importa dati da testo delimitato
Importa dati da file testo larghezza fissa
Casella combinata per selezione valori
Esempi Query con Access
Esempi di Maschere con Microsoft Access
Esempi di Report con Microsoft Access
Le pagine di accesso ai dati di Access
Esempi di Macro con Microsoft Access
Esempi di accesso ai dati con VBA Microsoft Access
Gestire il magazzino con Microsoft Access
Gestire le fatture con Microsoft Access
Aprire un file di Access con ADO e il VB6
Tutorials su Microsoft Access
http://www.mc2elearning.com/tutorials-access.html
La tabella serve per inserire nuovi dati, ma prima ancora serve a definire il tipo di dati che deve ospitare.
E' sempre obbligatorio specificare un nome per ogni dato, che chiameremo anche 'campo', e naturalmente un nome per la tabella stessa, per poterla distinguere da altre eventuali tabelle che andremo a 'salvare' nel nostro database.
Attenzione! Non confondere la tabella con la maschera!
Per chiarire subito la differenza, ecco come appare una tabella, dopo che l'avremo costruita passo passo (figura 1).
ed ecco invece come appare una possibile maschera, costruita sulla stessa tabella (figura 2).
Notate la differenza ? La tabella è una semplice matrice di righe e di colonne, il cui aspetto ricorda il foglio elettronico di Excel, mentre la maschera è una 'schermata' molto più 'attrezzata' e più 'fruibile' per l'utente del database, cioè per colui che dovrà per esempio modificare, aggiungere, eliminare dati, che qui chiameremo 'records', oppure per aprire altre finestre, come l'anteprima di questo esempio, il quale altro non è che un 'controllo pulsante di comando'.
Ci sono ancora alcune cose a mio avviso molto importanti da sottolineare, prima di passare alla costruzione della nostra tabella, passo passo:
* Sia l'intero database che la singola tabella sono 'contenitori' elementari di 'dati'.
* Non è possibile progettare un database di access senza definire almeno la struttura di una tabella e senza aggiungere qualche riga di valori in essa
* Un database può contenere una sola tabella oppure tante tabelle, dipende da chi l'ha progettato
* Il concetto di 'dato' è molto generico: a seconda del contesto al posto della parola 'dato' è opportuno utilizzare altri termini, come 'campo' (la colonna di una tabella) , o come 'record' (l'insieme dei valori di una riga);
* Quando si crea la struttura di una tabella, occorre tenere ben presente che non si tratta soltanto di definire i nomi dei campi, ma anche di definirne alcune proprietà, quali il tipo (testo, numerico, data, memo,ecc.), la dimensione in caratteri, le regole di convalida, ecc.
Cominciamo dunque!
Apriamo un database esistente di Access, oppure ne definiamo uno nuovo, dandogli naturalmente un nome, nel nostro caso il database si chiama: Inventario Domestico.mdb. Facciamo 'click' sul menù 'Inserisci', quindi sulla voce 'Tabella', nella finestra di dialogo riprodotta qui sotto selezionamo 'Visualizzazione Struttura' (figura 3).
Quella che segue è la finestra di dialogo visualizzazione struttura di una nuova tabella, chiamata provvisoriamente da Access 'Tabella1' (figura 4); a differenza di quando creiamo un nuovo database, qui il nome della nuova tabella verrà richiesto alla fine dell'operazione di definizione della struttura, che è l'operazione di cui ci stiamo occupando ora.
Notiamo che finestra di dialogo è composta di una parte superiore con 3 colonne e più righe in bianco, e di una parte inferiore con una sezione a 2 lembi (Generale e Ricerca) nella parte sinistra, e infine di una sezione di commento nell'angolo inferiore destro.
Il consiglio è di 'leggere' sempre questo commento, poichè questo viene fornito automaticamente da Access stesso e varia in funzione del contesto, cioè di quello che sta facendo l'utente (colui che sta progettando il database, non quello che lo utilizzerà!) in uno specifico momento, il commento contiene utilissime informazioni soprattuto per i principianti.
Iniziamo con il primo campo, che chiameremo 'IDInventarioDomestico' e che andremo ad inserire in corrispondenza della prima colonna, che si chiama 'Nome campo' appunto. Nella seconda colonna, di nome 'Tipo dati' , a compilazione obbligatoria, specifichiamo ora 'Contatore' (figura 5).
E' buona norma iniziare il primo campo di ogni tabella con un campo di tipo contatore, cioè un campo che conterrà valori numerici che si autoincrementano di 1 unità ogni volta che l'utente-utilizzatore aggiungerà un nuovo record (o riga) alla nostra tabella: in questo modo otteremo una 'Chiave primaria' univoca, cioè senza valori duplicati e questo agevolerà tutte le operazioni successive di ricerca, di indici, di filtri, di relazioni tra diverse tabelle, ecc.
Il campi di tipo contatore non devono necessariamente comparire nelle maschere, anzi è sconsigliato mostrarli all'utente-utilizzatore, anche se quest'ultimo non potrà mai modificarne il valore, proprio per evitare guai!
La terza colonna è disponibile per i commenti di colui che ha progettato la struttura della tabella stessa: non è obbligatoria, ma si consiglia caldamente di utilizzarla anche per ricordarsi a distanza di tempo della funzione di ciascun campo e magari delle regole di convalida più evidenti, come 'non può contenere valori a zero' oppuire 'chiave esterna per la tabella Stanze', o ancora 'può assumere i valori 1=.., 2=, 3=..',.ecc.
Passiamo al secondo campo, 'IDCategoria', che definiremo come 'Numerico' (figura 6); notate che nella sezione inferiore in corrispondenza della sottosezione 'Generale', la dimensione è impostata per default su 'Intero lungo': questa opzione va lasciata così, perchè va bene nella maggior parte dei casi (i valori di tipo Intero lungo variano da -2.147.483.648 e + 2.147.483.648) senza decimali, solo numeri interi.
Il terzo campo, 'IDStanza', viene definito in modo analogo al precedente. Perchè stiamo impostando dei campi numerici interi, senza cifre decimali, a cosa servono ? E' presto detto: servono per realizzare relazioni uno-a-molti tra la tabella che stiamo costruendo, e che si chiamerà 'Inventario Domestico' e 2 tabelle esterne, di nome 'Stanze' e 'Categorie' che conterranno le rispettive possibili descrizioni come records indipendenti: in questo modo si eliminano le ridondanze (in parole pavore: si evita di dover ripetere la stessa descrizione o lo stesso nome di stanza su occorrenze differenti del nostro inventario)
Il campo 'Descrizione' (figura 7) non presenta particolari difficoltà: si tratta di un normalissimo campo di tipo 'Testo': abbiamo specificato soltanto che la lunghezza massima deve essere di 255 caratteri, vedi sezione sottostante 'Proprietà campo', in corrispondenza della proprietà 'Dimensione campo'.
Attenzione alla proprietà 'Consenti lunghezza zero' che viene impostata per default su 'no': ciò significa che quando l'utente-utilizzatore tenterà di aggiungere records (righe) alla tabella senza aver specificato alcun valore per questo campo, Access glielo impedirà! Quindi regolatevi di conseguenza.
I campi 'Modello', 'NumeroModello' e 'NumeroDiSerie' sono anch'essi semplici campi di testo, quindi ora li tralasciamo, naturalmente vale per questi campi quanto già detto per il campo 'Descrizione'.
Per quanto riguarda invece il campo 'DataDiAcquisto' occorre specificare come Tipo dati, il tipo 'Data/ora', nel selezionarlo notiamo che Access ci permette di specificare ulteriormente il formato della data: generica, breve, estesa, ecc. selezioniamo Data in cifre come in figura 8, in questo modo stiamo dicendo ad Access di visualizzare la data (per questo campo soltanto...) nel formato GG/MM/AAAA, cioè con l'anno di 4 cifre.
Le specifiche di data e valuta impostate qui dovrebbero avere la precedenza sul quelle di sistema e che dipendono dalle rispettive impostazioni del Pannello di controllo di Windows, ma è opportuno controllare che siano almeno previste come opzioni alternative a livello di sistema operativo, in caso contrario verranno ignorate oppure potrebbero verificarsi degli errori di esecuzione in Access.
Il campo 'PrezzoAcquisto' (figura 9) ha la funzione invece di memorizzare per ciascun elemento del nostro inventario un importo valutario, (Access provvederà a visualizzare il simbolo dell'Euro ogni qualvolta si immetterà un valore nella tabella), quindi questa volta ci dovremo preoccupare del numero di decimali, che imposteremo in 2 posizioni (figura 10)
Le proprietà interessate sono 'Formato' e 'Posizioni decimali'
Per il campo 'ValoreStimato' vale quanto detto a proposito del campo 'PrezzoAcquisto'.
Per quanto riguarda invece il campo 'Assicurato' (figura 11) si tratta di un nuovo tipo: SI/NO ( o VERO/FALSO) questo tipo di campo può assumere soltanto 2 valori e si chiama anche Booleano (da Bool, il padre dell'artimetica binaria).
I campi di questo tipo sono estremamente utili nelle tabelle, perchè agevolano la definizione delle query di selezione e dei filtri, se invece volete impostare dei campi di tipo indicatore, cioè dei 'flag' (bandiera, in inglese) a 3 o più 'stati', occorre utilizzare campi numerici di tipo intero oppure campi di testo con 1 solo carattere di lunghezza, ad esempio per contenere valori come 'A', 'B', 'C', ecc.
Infine il campo 'Note', di tipo: 'Memo' (figura 12). Questo tipo di campo permette di memorizzare testi di lunghezza variabile per ciascun record (riga) fino a 64.000 caratteri.
La lunghezza massima per i campo di tipo testo è invece di 255 caratteri ed inoltre questo assorbe più spazio disco in quanto per ogni records viene riservato uno spazio identico alla lunghezza massima specificata.
Nel caso dei campi di tipo Memo, invece, se non inseriamo alcun valore in corrispondenza di un dato record (riga) non andremo a sprecare inutilmente dello spazio, velocizzando anche tutte le operazioni.
Quando abbiamo finito con l'inserimento dei campi, facciamo click su 'Salva' (icona a forma di floppy disk nella toolbar o barra degli strumenti) oppure fate click sul menù File, Salva: a questo punto Access ci chiede di dare un nome alla tabella, ad esempio 'Inventario domestico' o qualunque altro nome vogliate dargli!
Ed ecco infine come si presenta la nostra tabella (figura 13), riempita con alcune righe di dati (records). In alto avete le prime colonne (campi), qui le successive.
Prendendo spunto da questo tutorial, ora potete sbizzarrirvi a creare le vostre tabelle nel modo che riterrete più opportuno: ricordate che le tabelle sono la base ! Non preoccupatevi di fare degli errori: è proprio commettendoli che si impara!
Buon lavoro!
Importare dati da Excel in Access
Rubrica telefonica con Microsoft Access
Utilizzare Microsoft Query
Le Relazioni tra le Tabelle di Microsoft Access
Gestione Documenti con Microsoft Access
Access controllo gruppo di opzioni
Importa dati da Excel
Importa dati da testo delimitato
Importa dati da file testo larghezza fissa
Casella combinata per selezione valori
Esempi Query con Access
Esempi di Maschere con Microsoft Access
Esempi di Report con Microsoft Access
Le pagine di accesso ai dati di Access
Esempi di Macro con Microsoft Access
Esempi di accesso ai dati con VBA Microsoft Access
Gestire il magazzino con Microsoft Access
Gestire le fatture con Microsoft Access
Aprire un file di Access con ADO e il VB6
Tutorials su Microsoft Access
http://www.mc2elearning.com/tutorials-access.html
Commenti
Posta un commento