Toon posts:

[access] recursief aftrekken met query

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil het volgende in access realiseren, echter heb ik geen flauw idee waar ik moet beginnen:

Ik heb een tabel met totalen van het aantal printjes en kopietjes van multifunctionals. Deze totalen worden eenmaal per maand in de tabel ingevoerd.
De ingevoerde waarde is het totaal van vorige maand plus wat er deze maand is geprint of gekopieerd.

Nu wil ik een query bouwen die berekend hoeveel printjes en kopietjes er per maand gemaakt zijn. Dat is dus het totaal van deze maand - het totaal van vorige maand.

Dit probleem is mbv Excell eenvoudig op te lossen echter heb ik geen idee hoe ik dit met access moet aanpakken, de laatst ingevoerde datum is eenvoudig te achterhalen maar dan begint het, hoe achterhaal ik de een na laatste datum, en de datum daarvoor, ect.. een soort recursief aftrekken dus.

Ik hoop dat iemand me een tip kan geven (me in de goede richting sturen) hoe ik dit voor elkaar kan krijgen.

  • Lister
  • Registratie: September 2001
  • Laatst online: 15-02-2022
Als ik het goed begrijp heb je dus ongeveer zo'n soort tabel:
code:
1
2
3
4
5
Maand        Totaal
=====       =====
200301      12345
200302      20000
200303      34444


In dit geval hoeft je niets recursief te doen omdat je voor het berekenen van een maandtotaal alleen het totaal van die maand en het totaal van de maand daarvoor hoeft te hebben, wat verder daarvoor of daarna is gebeurd is niet van belang voor die maand.

Je moet de tabel met zichzelf joinen en deze join dan leggen op het maandnummer.
De query zou dan zoiets worden:
code:
1
2
3
SELECT Tot1.Totaal - Tot2.Totaal 
FROM tblTotaal as Tot1, tblTotaal as Tot2
WHERE (Tot1.Maand - 1) = Tot2.Maand


Of je de maand zo kan koppelen is natuurlijk afhankelijk van hoe je de datum precies op slaat, anders moet je eens naar de datum functies van Access kijken.

Verwijderd

Topicstarter
[quote]Lister schreef op 01 december 2003 @ 19:56:
...
Je moet de tabel met zichzelf joinen en deze join dan leggen op het maandnummer.
De query zou dan zoiets worden:
code:
1
2
3
SELECT Tot1.Totaal - Tot2.Totaal 
FROM tblTotaal as Tot1, tblTotaal as Tot2
WHERE (Tot1.Maand - 1) = Tot2.Maand

...

Ja, dat zou inderdaad moeten gaan werken, ga het meteen proberen, bedankt!