Vi sono varie occasioni in cui può essere necessario mettere in relazione due tabelle, o per usare un termine anglosassone stabilire un join fra le stesse.
Oggi prenderemo in esame il caso in cui si abbiano a disposizione una tabella che registri l’utilizzo delle auto aziendali da parte dei dipendenti e una tabella con l’anagrafica dei dipendenti coinvolti nell’attività.
Per ragioni che in questa sede daremo per assodate, nella prima tabella, che chiameremo Movimenti, non verrà mai registrato il nome e cognome del dipendente ma solo la sua matricola oltre alle informazioni necessarie alla registrazione dei movimenti (data e ora di utilizzo dei mezzi, chilometri percorsi, ecc.), nella seconda, che chiameremo Anagrafica, oltre alla matricola, sarà presente almeno anche il nome-cognome del dipendente.
È altrettanto vero che se dalla prima tabella volessimo estrarre il nome del dipendente occorrerà creare una query che renda visibile questa informazione.
Procediamo con la creazione di una query di selezione alla quale aggiungeremo entrambe le tabelle.
Dalla tabella Movimenti selezionare il campo contenente la matricola del dipendente e trascinarlo sul campo corrispondente nella tabella Anagrafica. Access provvede, a questo punto, a visualizzare il join fra questi due campi sotto forma di linea di congiunzione.
Selezionare questa linea e fare un doppio click, nella maschera che si aprirà selezionare l’opzione Includi tutti i record di Movimenti e solo i record di Anagrafica i cui campi collegati sono uguali.
Per ragioni che affronteremo in seguito, perché tutto funzioni al meglio, sarà necessario che la tabella Anagrafica rispetti assolutamente due regole:
- che nessuna matricola sia duplicata ovvero che sia applicata una chiave primaria al campo matricola;
- che le matricole registrate nella tabella Movimenti siano sempre il frutto di una precedente e corrispondente registrazione nella tabella Anagrafica.
La prima regola serve ad evitare confusioni e/o duplicazioni di informazioni; se il sistema trovasse due matricole uguali nella tabella di riferimento Anagrafica riprodurrebbe due volte la stessa informazione attribuendola prima ad una e poi all’altra matricola.
La seconda regola serve ad evitare buchi di informazioni: il sistema in assenza di una decodifica corrispondente restituisce valore nullo.