Ik heb een tabel met iedere dag een meterstand.
Hoe bereken ik het verbruik per dag?
Nicole
Dit forum staat op alleen-lezen. Je kan hier informatie zoeken en oude berichten terugvinden, maar geen nieuwe berichten plaatsen.
Naar overzicht van alle forumsMaak een nieuwe query, ga naar SQL weergave en plak deze code:
SELECT B.Opnamedatum,B.Meterstand, B.Meterstand - A.Meterstand AS Verbruik
FROM tblMeterstand AS A, tblMeterstand AS B
WHERE B.Opnamedatum =
(
SELECT MIN(C.Opnamedatum)
FROM tblMeterstand AS C
WHERE C.Opnamedatum > A.Opnamedatum
)
UNION
SELECT A.Opnamedatum, A.Meterstand, 0
FROM tblMeterstand AS A
WHERE NOT EXISTS
(
SELECT *
FROM tblMeterstand AS B
WHERE B.Opnamedatum < A.Opnamedatum
)
;
Tabelnaam en kolomnamen even vervangen door jouw tabelnaam en kolomnamen.
RV
Bedankt RV. Het werkt.
Maar nog een vraagje …
Als de query start berekent deze verschil maar ik krijg een heleboel decimalen.
Meterstand 1 = 120.4
Meterstand 2 = 121.5
Query berekent dan verbruik= 1.10004596736 ipv 1.1
Waar moet ik aangeven dat ik maar 1 decimaal wil?
Heb geprobeerd in properties van form maar dat werkt niet.
In tabel heb ik wel aangegeven dat maar 1 decimaal wil
Denk zelf dat ook in sql moet vermelden? Hoe?
Nicole
>In tabel heb ik wel aangegeven dat maar 1 decimaal wil<
Dat wordt ook wel een masker genoemd.
Een masker bepaalt hoe je gegevens worden weergegeven, niet hoe ze worden opgeslagen.
Een masker wordt niet overgenomen door je query.
Als je met Access2000 of hoger werkt, zou je de functie ROUND kunnen gebruiken.
Gebruik daarvan raad ik je echter af, omdat dit tot vreemde resultaten kan leiden (veroorzaakt door de wijze waarop Microsoft deze functie heeft gedefineerd).
Gebruik de functies INT en / of FIX, deze zet je dan voor je verbruik, bijvoorbeeld:
INT(B.Meterstand - A.Meterstand) AS Verbruik
Zou zeggen, probeer dit zelf ff uit, ervaring is de beste leermeester.
Zie Access Help voor meer info over deze functies.
RV
Weet je zeker dat je deze post als spam wil rapporteren aan de beheerder?
Deze post wordt als spam gerapporteerd aan de beheerder van het forum. Bedankt!
Weet u zeker dat u dit topic wil verwijderen?