View Full Version : QUERY per azzerare una colonna in access
Ciao a tutti.
Ho creato un database per gestire gli acquisti di un negozio.
Ci sono diverse colonne (campi) ma quelle che ora mi interessano sono:
nome prodotto, prezzo, quantità.
Questi tramite query vengono inseriti man mano che arriva nuova merce e tramite un'altra query viene calcolato il totale per ogni singolo prodotto (prezzo per quantità).
A fine anno c'è l'inventario da fare e avrei la necessità di far si che la colonna "Quantità" (che nel corso dell'anno si è riempita di valori numerici) segni in ogni casella il valore 0.
Cioè, se prima avevo delle caselle che riportavano i valori 3, 5, 6 vorrei che tramite una query o simili riportassero il valore 0, 0, 0.
è possibile? come posso fare?
Grazie infinite in anticipo
Non voglio entrare nel tuo sistema di gestione, ma sarebbe meglio che gestissi queste informazioni anno per anno aggiungendo un campo ANNO che differenzia le quantità da un anno dall'altro e non azzerandole.
Tornando alla tua domanda, credo che tu voglia questo:
UPDATE TUA_TABELLA SET QUANTITA=0;
eventualmente aggiungi un WHERE per limitare l'operazione.
X pinok
Quello che dici te non è sbagliato (come lo detta io sembrerebbe abbastanza illogica).
Il fatto è che serve per un amico che non ha nessuna competenza di pc.
Quindi durante l'anno (mettiamo 2006), man mano che arriva merce, egli inserisce i dati.
A fine anno crea una copia del file e lo rinomina come "inventario 2006).
Fatto questo, comincia a contare le scatole rimanenti del prodotto A.
Con una query di ricerca, inserisce il numero dell'articolo e si trova davanti il record di quell'articolo.
Quindi modifica la quantità.
Il problema è che se un articolo è stato tutto venduto, egli non avrà nessuna scatola in mano e percio' non andrà mai a modificare la quantità.
Si troverebbe allora che la quantità di quel record (mettiamo 5) non la modificherebbe, trovandosi nell'inventario 5 pezzi di un articolo che non ha nella realtà.
Detto questo lui mi ha chiesto di poter azzerare tutti i valori, in modo che modifica solo quelli che ha in negozio, mentre per tutti gli altri non c'è problema perchè sono già con il valore 0.
Detto questo (che magari lo avevi già capito), non ho capito cosa farebbe il WHERE e come andrebbe aggiunto.
Tieni conto che sono alle prime armi in materia.
Grazie
oltre a dirmi a cosa serve il WHERE, potresti dirmi la sintassi corretta per la query?
Non me l'accetta cosi (la mia tabella si chiama ACQUISTI).
Grazie infinite per l'aiuto che mi dai
Allora, il WHERE serve per limitare l'operazione su una certa condizione, ad es.
UPDATE ACQUISTI SET QUANTITA=0 WHERE QUANTITA>0
In questo caso mette a zero solo le righe con quantità maggiore di zero.
Diciamo che, se non la metti, non cambia molto perché vengono rimesse a zero righe che già erano a zero, quindi nessun problema.
Anche la sintassi è quella corretta, a parte quantita che io l'ho scritto senza accento, perché di solito è meglio lasciar perdere gli accenti nei nomi dei record.
Siccome Access accetta quasi tutto, verifica che non ci sia l'accento ;)
Purtroppo ora non ho sotto mano Access, perché è meglio lasciarlo perdere ;).
L'istruzione però è standard, per cui dovrebbe andare bene.
Se non ricordo male però Access mette a disposizione anche un wizard per costruirti la query, al limite prova con quello e controlla l'istruzione che ti propone.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.