MS Access - Procedura guidata di query senza pari

In Access, c'è un'altra procedura guidata molto utile e cioè Find Unmatched Query Wizard. La procedura guidata Trova query senza corrispondenza crea una query che trova i record o le righe in una tabella che non hanno record correlati in un'altra tabella.

Come abbiamo già discusso in che modo i dati si uniscono nelle query e in che modo la maggior parte delle query cerca le corrispondenze tra due o più tabelle.

  • Questo è il join predefinito in Access, ad esempio, se progettiamo una query con due tabelle, tblCustomers e tblOrderse unire queste due tabelle tramite CustomerID, questa query restituirà solo i risultati che corrispondono. In altre parole, i clienti che hanno effettuato ordini.

  • Ci sono momenti in cui non vogliamo vedere le corrispondenze, ad esempio, potremmo non voler vedere nessun cliente nel nostro database, i clienti che non hanno ancora effettuato ordini.

  • Questo è esattamente ciò che fa la query Trova senza corrispondenza.

Ci sono anche molti altri usi possibili per questo tipo di query.

Nel nostro database, possiamo usarlo per vedere quali autori non hanno ancora scritto un progetto o potresti usarlo per vedere quali dipendenti non hanno ancora eletto alcun beneficio per la salute. Apriamo ora il tuo database che contieneCustomers e Orderstavolo; vai alla scheda Crea e fai clic sul pulsante della procedura guidata di query.

Seleziona il Find Unmatched Query Wizard e fare clic Ok.

In questo scenario, cercheremo quei clienti che non hanno effettuato un ordine. Nella prima schermata chiede quale tabella o query contiene i record che desideri nei risultati della query.

Ora vogliamo un elenco di clienti da tblCustomers. Seleziona questa opzione e fai clicNext.

Nella schermata seguente, è necessario specificare which table or query contains the related records. In altre parole, quale tabella stai usando per confrontare con la prima. Per questo, dobbiamo trovare quelli che non hanno effettuato ordini. Dobbiamo selezionare la tabella che contiene le informazioni su tutti gli ordini -tblOrders. Ora fai clic suNext.

Nella schermata seguente, è necessario specificare quale informazione è in entrambe le tabelle.

  • In genere si tratta di una sorta di chiave primaria, chiave esterna, campo o relazione.
  • Se hai una relazione esistente nel tuo database, Access selezionerà e abbinerà quei campi per te.
  • Ma, se hai altri campi che puoi unire insieme, contengono informazioni simili, puoi scegliere anche quello qui.

Qui, CustID è selezionato per impostazione predefinita in entrambi i campi in "tblCustomers" e nei campi in "tblOrders". Ora fai clic suNext.

Nella schermata seguente è possibile selezionare e scegliere i campi che si desidera visualizzare nei risultati della query.

Selezioniamo ora tutti i campi disponibili e facciamo clic sulla freccia a due punte. Questo sposta tutti i fileavailable fields oltre al selected fieldsla zona. Ora fai clic suNext.

L'ultima schermata ti permetterà di scegliere un nome per la tua query e fare clic Finish.

Qui abbiamo un cliente elencato come quel cliente che non ha ancora effettuato un ordine con noi.

Puoi anche vedere come è stata creata la query. Per questo, devi tornare al fileDesign View.

Questa procedura guidata ha creato un file Outer Join tra tblCustomer e tblOrders e il Is Nullcriteri viene aggiunto al CustID da tblORders. Questo per escludere determinati record. In questo caso, sono i clienti che hanno effettuato ordini o che hanno informazioni correlate in tblOrders.