Il termine query, in informatica viene utilizzato per indicare l'interrogazione di un database in modo da ottenere dei dati contenuti in uno o più database e come tale è considerato generalmente uno “strumento” per ottenere un output anche se con la query è possibile effettuare degli update (modifiche o aggiornamenti) dei dati esistenti ma non per aggiungere nuovi record alla/e tabelle esistenti.
Una query può però creare nuove tabelle fisiche facendo delle relazioni tra tabelle esistenti che hanno uno o più campi comuni.
l’ID è un indice generato automaticamente dal database al momento dell’inserimento del record ad ogni cancellazione di un record l’ID non viene recuperato creando “buchi” numerici e pertanto non è consigliabile usarlo come campo da relazionare con un altro ID di altra tabella ma rimane indispensabile per altre funzioni.
La maschera può essere, invece, utilizzata come input di una tabella (se esegui la procedura guidata di una maschera otterrai un accesso diretto dei campi selezionati verso la tabella.
Attraverso la maschera puoi modificare dati esistenti o aggiungere nuovi record
La maschera può essere utilizzata anche come output dei dati e può essere, in questo caso, effettuata su una query esistente.
Se vogliamo si potrebbe dire che le maschere di input non sono altro che l’esecuzione delle tabelle (come se aprissi queste ultime) con una veste grafica più accettabile e gradevole dal punto di vista visivo.
Detto questo e venendo quindi al tuo problema potresti creare una query che interroghi ambedue le tabelle mettendo però, precedentemente alla query, in relazione (Menu>Strumenti>Relazioni) i campi Nome di ambedue le tabelle ma non potrai, in questo modo, scrivere nuovi record nella/e tabelle.
Proprio per i motivi sopra citati (uso query e uso maschere) è sempre consigliabile avere una unica tabella anagrafica con tutti i dati relativi al singolo soggetto (Cliente) per poi utilizzare le query per interrogare e le maschere per aggiungere nuovi record all’anagrafica.
Quindi occorre creare una tabella che abbia tutti i campi di ambedue le tabelle e che puoi ottenere con una query di questo tipo
- Codice: Seleziona tutto
SELECT Tbl_Clienti.Nome, Tbl_Clienti.Cognome, Tbl_Clienti.Via, Tbl_Clienti.dataNascita, Tbl_Negozi.PIVA, Tbl_Negozi.dataFattura, Tbl_Negozi.NumFatt INTO TabNew
FROM Tbl_Clienti INNER JOIN Tbl_Negozi ON Tbl_Clienti.Nome = Tbl_Negozi.Nome;
e inserire i dati futuri attraverso una maschera di input collegata alla tabella stessa.
Ciao
N.B. Con gli strumenti che ha in dotazione access surrogati dalle macro preimpostate e/o create a livello di pura programmazione, poi, è possibile fare "tutto".