Afrondingen bij berekeningen in Access

Status
Niet open voor verdere reacties.

FatalCrawdad586

Gebruiker
Lid geworden
19 feb 2017
Berichten
17
Goede morgen,

Ik heb een probleem met berekeningen in Access, en meer bepaald met afrondingen.

Hoewel ik in de query de berekening "[netto]*[btwvoet]" laat afronden op 2 cijfers na de komma, blijkt deze afronding alleen visueel te zijn en blijft de echte waarde veel onnauwkeuriger.

Dit geeft problemen bij latere en verdere berekeningen.

Mijn vraag is: hoe kan ik de afronding op 2 cijfers afdwingen (uiteraard op basis van de normale 5/4 afronding)?

Ik heb al geëxperimenteerd met berekeningen zoals:
- round(round([netto]*[btwvoet];2)*1;2) of
- round(int(round(round([netto]*[btwvoet];2)*100;2))/100;2)
maar ik denk dat er betere (correctere) manieren moeten zijn.

Kan iemand mij verder helpen (ik gebruik Access2016)?

Alvast bedankt.
 
Ik zou zeggen niet afronden bij de berekening(en) van de data in de tabellen en enkel maar "visueel" afronden waar nodig op bv formulieren en rapporten?
 
Beste JohanRVT,

Bedankt voor de prompte reactie. Jammer genoeg volstaat een visueel aspect niet voor mijn doeleinden.

Ik heb de exact afgeronde bedragen echt nodig voor latere berekeningen en vergelijkingen met externe documenten.

Daarom vraag.
 
Één keer de functie Round gebruiken lijkt mij voldoende. Die zet je dan om de complete berekening heen.
 
Dacht ik in het begin ook. Maar werkt niet echt.

Zie
knipsel1 = query
knipsel2 = queryresultaat

het probleem zit zelfs in de optelling.

Vandaar mijn probleem.

Knipsel1.PNGKnipsel2.PNG
 
Misschien heb ik zand in mijn ogen, maar ik zie géén Round functie bij je tweede berekening.
 
Neen, je hebt geen zand in de ogen.

De round staat alleen bij de vermenigvuldiging.

Maakt (vrees ik) niet veel uit.

zie bijgaande voorbeelden 1 & 2Voorbeeld1.PNGVoorbeeld2.PNG
 
Ik zou zeggen: doe er een voorbeeldje bij. Een typcursus heb ik al gehad :).
 
Kijk ook eens naar je TRUE variant: die haalt alleen het veld [Netto] op. En dat stikt van de cijfers achter de decimaal. Ergo: daar gaat het al fout. Ik schreef ook: één Round om de hele formule zou moeten volstaan. Jij doet 'm om de helft.
 
Sorry, maar zal wel aan mij liggen.

Ik heb geprobeerd om 1 round om de hele formule te plaatsen, maar lost niks op.

Ook in de berekening van de BTW-waarde heb ik effectief in de eerste record een aantal cijfers na de komma en dit is effectief mijn probleem. Vandaar de vraag hoe ik alle cijfers vanaf het derde na de komma definitief kan verwijderen (uiteraard moet het tweede afgerond worden in functie van het derde en dit voor het bijwerken).

Sorry, maar ik zie niet echt in hoe (apart van mijn experimenten) ik dat kan bereiken.

Alvast bedankt voor alle assistentie

Voorbeeld3.PNGVoorbeeld4.PNG
 
Zolang je plaatjes blijft posten, blijft het voor ons gissen. Maar ik snap je niet; BTW percentages zijn doorgaans hele getallen. Dus 21% is bij mij altijd een Integer. En daar maak ik nooit een double van met 12 cijfers achter de komma. Hoe kom je daar aan? En waarom?
 
Berekening BTW bedrag:

Code:
Round([netto]*[btwvoet],2) AS btwbedrag

Berekening brutobedrag:

Code:
Round([netto]*(1+BTWvoet),2) as bruto

Voor Netto zou ik als gegevenstype Valuta gebruiken, opmaak = Standaard.

PS let op met het gebruiken van de Round functie.
In MS Access is de Round functie gebaseerd op "bankers rounding".
Als je wilt afronden (en dat wil je) conform Europese afrondingsregels, gebruik dan een zelfgedefineerde functie.
Zie bijvoorbeeld

https://stackoverflow.com/questions/46348897/rounding-decimal-places-in-access

Tardis
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan