PDA

View Full Version : Access


anjoletto82
02-03-2004, 08:46
Ciao a tutti! Sto cercando una funzione in Access che mi hanno detto che esiste ma che non riesco a trovare. Praticamente questa funzione fa la somma dei record precedenti. Per esempio se ho 10 record in una tabella: nel 1° avrò solamente un valore, nel 2° avrò la somma del 1°+2°, nel 3° avrò la somma del 1°+2°+3° e così via ... nessuno sa aiutarmi??

:muro: :cry: :muro: :cry: :muro: :cry: :muro: :cry:

cionci
02-03-2004, 09:02
Allora...ad esempio con questa tabella:

ID Campo
3 3
4 2
5 4
6 1

ID è chiave autoincrementante e mi da anche un ordinamento (può essere ad esempio dato da un campo data)...

SELECT A.ID, A.Campo, Sum(B.Campo) As Somma
FROM Tabella AS A, Tabella AS B
WHERE A.ID>=B.ID
GROUP BY A.ID, A.Campo;

In pratica fai un prodotto scalare dalla tabella con se stessa (A e B sono nomi fittizi che mi servono epr potere identificare le due parti della tabella risultante)...in questo modo resta una combinazione di tutti i record di A con tutti i record di B...
Si filtrano tutti i record che hanno il campo di ordinamento di A >= del campo di ordinamento di B...
E poi si raggruppa per tutti i campi di A che vuoi visualizzare...e si sommano interessato (della parte B) dei record raggruppati...

Risultato:

ID Campo Somma
3 3 3
4 2 5
5 4 9
6 1 10