Verschil berekenen tussen opeenvolgende velden

Status
Niet open voor verdere reacties.

gilbart

Nieuwe gebruiker
Lid geworden
13 feb 2016
Berichten
4
Mijn vraag
Ik wil het verschil berekenen tussen opeenvolgende records in een database in access en deze waarde in een nieuw veld plaatsen.
Bijvoorbeeld een database bevat de volgende velden "datum" en "waarde".

datum waarde
1/1/2022 100
2/1/2022 150
3/1/2022 140
enz....

hoe kan ik een nieuw veld aanmaken waarin het verschil tussen de opeenvolgende "waardes" wordt berekend? Dus 150 - 100 = 50 , 140-150 =-10 enz... deze waarde wordt dan in een nieuw veld "verschil" geplaatst.
 
Afleidbare gegevens sla je nooit op in een tabel. Er kan bijvoorbeeld altijd een waarde gewijzigd worden, waardoor reeds opgeslagen verschillen niet meer kloppen. Het verschil bereken je in een query als je het nodig hebt.
Als er maar één waarde per datum is, zou zo'n query er als volgt uit kunnen zien:
Code:
SELECT Q1.datum, Q1.waarde, Q1.waarde-JouwTabel.waarde AS verschilFROM (SELECT Id, datum, waarde, CDate(nz(DMax("datum","JouwTabel","datum < #" & Format([datum],"mm/dd/yyyy") & "#"),#01-01-1900#)) AS vorigedatum FROM JouwTabel) Q1 
LEFT JOIN JouwTabel ON Q1.vorigedatum = JouwTabel.datum;
 
Peter, hartelijk dank voor uw antwoord.
Werkt perfect zoals het moet zijn.
Probleem is opgelost.:thumb:
 
Top 1

Als er meerdere waarde zijn op dezelfde datum, zet dan in de tabel de standaard waarde van de datum op Now()
en de notatie op Standaard-datumnotatie.

Groetjes
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan