LA QUERY DI AGGIORNAMENTO
Riprendiamo l’articolo riguardante le query SQL ( Structured Query Language ) in Access del primo appuntamento nel quale abbiamo parlato delle query di selezione con questo nuovo articolo nel quale tratteremo delle query di aggiornamento.
Innanzitutto ricordate che ogni volta che eseguite una query in linguaggio SQL, le modifiche nelle tabelle del database sono irreversibili, quindi prima di aggiornare i dati con una nuova query sarebbe bene salvare i dati, poi quando avremo testato la procedura possiamo operare senza backup.
La sintassi per il comando SQL di aggiornamento è:
UPDATE [nome tabella] SET [campo] = x WHERE …
così se ad esempio abbiamo la tabella dei comuni e vogliamo cambiare il CAP a 00111 per tutti quelli che hanno il CAP uguale a 00100, che sono molti, dobbiamo scrivere:
UPDATE [Comuni] SET [CAP] = ‘00111’ WHERE [CAP] = ‘00100’
Un altro esempio potrebbe essere quello di aggiornare il prezzo di vendita di ogni articolo che inizia per “B” con un ricarico del 2%:
UPDATE [Articoli] SET [Prezzo] = [Prezzo]+([Prezzo]*0,02) WHERE [Descrizione] LIKE ‘B*’
Per creare questo tipo di query in Access basta selezionare dal menu “Query” –> “Query di Aggiornamento“, quindi scegliere il campo da modificare e poi inserire il nuovo valore ed il filtro, quindi visualizzazione foglio dati per vedere i dati che sono da moficare ed infine eseguire la query con il pulsante raffigurante un punto esclamativo rosso.
LA QUERY DI ELIMINAZIONE
La sintassi di questo tipo di query è simile alla precedente:
DELETE FROM [Tabella] WHERE ….
quindi se ad esempio vogliamo eliminare tutti i comuni dalla tabella “Comuni” che sono stati esteri ( di solito con codice EE ) dobbiamo eseguire questa query:
DELETE FROM [Comuni] WHERE [Codice] = ‘EE’
In Access graficamente creare questo tipo di query è simile al precedente solo che al posto di query di aggiornamento dobbiamo selezionare dal menu query di eliminazione.
Come sempre per avere maggiori informazioni o contattarmi potete farlo nel nostro forum dedicato ai database.