Creare una relazione UNO-A-MOLTI tra due tabelle di Access
La relazione UNO-A-MOLTI consente di collegare un record di una tabella con più record di una seconda tabella. Questa relazione tra record è molto utilizzata nei database aziendali per creare delle tabelle dei “dettagli” che richiamano continuamente dati da una prima tabella: si pensi, ad esempio, a degli ordinativi di acquisto che possono riguardare, in un arco di tempo ristretto, sempre lo stesso fornitore. Normalmente, questa relazione viene fatta collegando un campo univoco (della prima tabella), quale ad esempio un campo CONTATORE, con un campo NUMERICO inserito nella seconda tabella. Vediamo la procedura operativa attraverso un semplice esempio pratico.
Supponiamo di voler realizzare uno SCADENZARIO delle fatture di acquisto che riporti le fatture ricevute dai fornitori dell’azienda. Creiamo innanzitutto una tabella, che chiameremo FORNITORI, inserendo i campi strettamente necessari (ID, FORNITORE, INDIRIZZO CAP, CITTA’, PROV). Ad eccezione del campo ID che sarà di tipo NUMERAZIONE AUTOMATICA, agli altri campi possiamo assegnare il tipo TESTO BREVE.
Per evitare di appesantire il database riduciamo, ove possibile, la dimensione dei campi intervenendo all’interno della scheda GENERALE delle PROPRIETA’ CAMPO. Ad esempio, per il campo CAP possiamo inserire una lunghezza di 5 caratteri. Salviamo la tabella ed inseriamo alcuni dati di esempio che ci serviranno successivamente per vedere gli effetti della relazione UNO-A-MOLTI che andremo a creare.
Creiamo ora una seconda tabella dal nome SCADENZARIO inserendo i campi tipici di una fattura (DATA, NUMERO, IMPORTO e SCADENZA); aggiungiamo alla tabella sia il campo ID (Numerazione automatica) sia un campo numerico (che chiameremo per convenzione IDfornitore) che ci servirà per creare la relazione UNO-A-MOLTI. Scegliamo per ciascun campo il TIPO DATI più appropriato. Salviamo, infine, questa seconda tabella.
Creiamo ora la relazione tra le due tabelle. Selezioniamo la barra STRUMENTI DATABASE quindi il pulsante RELAZIONI.
Dalla finestra MOSTRA TABELLA, selezioniamo la prima tabella ed utilizziamo il pulsante AGGIUNGI. Ripetiamo la procedura per la seconda tabella ed infine facciamo clic sul pulsante CHIUDI (sempre della finestra MOSTRA TABELLA).
Le due tabelle vengono visualizzate all’interno dell’area RELAZIONI di Office Access. Posizioniamo il mouse sul campo ID della tabella FORNITORI e trasciniamolo sul campo IDfornitore della tabella SCADENZIARIO.
A video appare la finestra MODIFICA RELAZIONI che consente di gestire il tipo di relazione tra i due campi. Il tipo di relazione che viene proposta in automatico da Access (tra un campo CONTATORE e un campo NUMERICO) è la relazione UNO-A-MOLTI; quindi, non ci resta che confermare con un clic sul pulsante OK e chiudere la scheda RELAZIONE attraverso il pulsante CHIUDI posto sulla barra PROGETTAZIONE.
Abbiamo detto in precedenza che la relazione UNO-A-MOLTI consente di collegare un record di una prima tabella (nel nostro caso, tabella FORNITORI) con più record di una seconda tabella (nel nostro caso, la tabella SCADENZIARIO). Possiamo quindi aprire la tabella FORNITORI, utilizzare il tasto più (+) posto alla sinistra dei singoli record ed inserire i dati relativa alle diverse fatture di acquisto (relative al fornitore).
Anche se per l’inserimento dei dati utilizziamo la tabella FORNITORI, di fatto, i dati inseriti vengono aggiunti alla tabella SCADENZARIO. Se apriamo quest’ultima noteremo i record relativi alle singole fatture e, in corrispondenza del campo IDfornitore, il numero univoco che identifica ciascun fornitore.
La nuova versione di Office Access rende l’inserimento dei dati “gradevole” anche attraverso le stesse TABELLE. In alternativa, possiamo costruire una MASCHERA per l’inserimento dei dati. Per farlo è sufficiente selezionare la tabella FORNITORI ed utilizzare il pulsante MASCHERA posto all’interno della barra multifunzione CREA.
Da notare che è necessario selezionare la tabella FORNITORI per consentire ad Access di creare automaticamente una maschera completa (ovvero, con sottomaschera) nella quale inserire i dati necessari; diversamente, se si seleziona la tabella SCADENZARIO prima di avviare la procedura di creazione maschera, viene creata una maschera riferita solo a tale tabella, quindi senza la possibilità di visualizzare/modificare i dati del fornitore.