Query di eliminazione, accodamento o aggiornamento

QueryAttive

A differenza delle normali query di ricerca (interrogazioni), che restituiscono una serie di record e/o campi a fronte di determinate richieste, all’interno di Microsoft Access esistono delle query molto importanti, delle query attive:
sono le query di accodamento, di aggiornamento o di eliminazione, che permettono di modificare i dati contenuti in una o più tabelle.

Le modifiche consistono appunto nel poter:

  • aggiungere record (accodamento)
  • eliminare record (eliminazione) 
  • modificare contenuti (aggiornamento) di uno o più campi in uno o più record

In realtà si tratta di vere e proprie azioni che possono intervenire globalmente, su una serie di dati rispondenti a determinate caratteristiche.

queryattive1

Come in una query normale, definiamo uno o più criteri per ottenere in risposta una serie di dati, quindi impostiamo che questa serie di dati deve essere eliminata, o modificata, o accodata…

La cosa più importante che dobbiamo ricordare quando usiamo una di queste query, è che se sbagliamo possiamo fare dei grossi danni!!!
Essenziale quindi usarle con attenzione ed effettuare delle prove (anche più di una) su copie di file o su file non importanti.

Ciò premesso vediamo un po’ più nel dettaglio.

Query di aggiornamento:
Serve per aggiornare dei dati in maniera globale senza doverlo fare manualmente.
Esempio:

  • abbiamo un elenco con nomi di persone partecipanti, in varie date, a vari eventi
  • per qualche motivo l’evento del 28 maggio viene spostato al 4 giugno
  • creiamo una query normale che seleziona tutti i record con la data = 28 maggio
  • andiamo a impostare che si tratta di un tipo di query di aggiornamento (in struttura query si clicca il tasto di destro del mouse in una parte vuota nella zona dove si trovano le tabelle, e si seleziona Tipo di query – Query di aggiornamento)
  • a questo punto nei vari campi, sopra alla casella criteri, si crea una casella che si chiama Aggiorna a:
  • è proprio qui che in corrispondenza del campo data si scrive il nuovo valore della data
  • all’esecuzione della query tutti i campi data dove era scritto 28 maggio saranno aggiornati al 4 giugno (sia che si tratti di pochi record sia si tratti di migliaia di record, il tutto in un attimo)

Query di eliminazione:
Serve per eliminare dei dati in maniera globale senza doverlo fare manualmente.
Esempio:

  • abbiamo un elenco di nomi e cognomi e comune di residenza
  • vogliamo togliere tutti i record delle persone residenti nel comune di Roma
  • creiamo una query normale che seleziona tutti i record con il comune di residenza = “Roma”
  • andiamo a impostare che si tratta di una query di eliminazione
  • all’esecuzione della query tutti i record relativi alle persone residenti nel comune di Roma saranno eliminati

Query di accodamento:
Serve per accodare dei record in una particolare tabella.
Esempio:

  • abbiamo un elenco di nomi e cognomi e anno di nascita
  • vogliamo copiare (accodare appunto) in una tabella di persone nate nell’anno 1967, tutte le persone del nostro elenco che sono nate nel 1967
  • creiamo una query normale che seleziona tutti i record con l’anno di nascita = 1967
  • andiamo a impostare che si tratta di una query di accodamento
  • in questo momento una finestra di dialogo ci chiede quale deve essere la tabella di destinazione dei dati, e noi lo andiamo a definire
  • all’esecuzione della query tutti i record delle persone nate nel 1967 saranno aggiunti alla tabella appena impostata

Se salvata, la query svolgerà le operazioni impostate (ricerca dei record e successiva azione su di essi),  tutte le volte che verrà eseguita.
Ricordo quindi quanto sia importante fare esperienza su questi tipi di query in ambienti dove eventuali errori non possano arrecare danni irreversibili ai dati.

R 🙂 bert 🙂