query acces afronden

Status
Niet open voor verdere reacties.

Caro1981

Gebruiker
Lid geworden
12 jul 2018
Berichten
34
Ik heb een query gemaakt in access waarin ik drie nieuwe kolommen toevoeg met een berekening. In één kolom wordt er automatisch afgerond naar beneden in de andere twee kolommen niet. Hoe komt dit? De eigenschappen staan op vast en 2 decimalen.
 
Eigenschappen hebben niks met je afronding te maken, en het aantal decimalen ook niet. Wel je formules. Dus ik zou zeggen: begin eens met de SQL van de query te posten, of, nog mooier, een db met wat gegevens en de query.
 
sql

Dit is het stukje sql van de kolom waarbij ik geen twee cijfers na de komma krijg? Voldoende?
(([Formulieren]![F_Input]![Vast bedrag ET]*1.02)*[Formulieren]![F_Input]![PB & GSD ET]) AS ForfaitIndex
 
Tja, daar is inderdaad weinig aan te zien. Op basis van de operator verwacht je inderdaad decimalen. Ik zou daar in eerste instantie ook geen opmaak aan hangen. Maar is dit nu één van de berekeningen die geen afronding heeft, of juist wel? Vaag allemaal :).
 
afgerond

Deze wordt afgerond. Wanneer ik opmaak weg doe. zelfde resultaat
 
Als volgt opgelost: ForfaitIndex: ((([Formulieren]![F_Input]![Vast bedrag ET]*2/100)+[Formulieren]![F_Input]![Vast bedrag ET])*[Formulieren]![F_Input]![PB & GSD ET])
Na een paar tests vastgesteld dat het lag aan "*1.02". Ik weet wel niet waarom?
 
Als je iets vermenigvuldigt met 1.02 krijg je nu eenmaal een resultaat met cijfers na de komma. Als je die wil afronden in een query kan je dat doen via een formaat: number format instellen in de format eigenschap en niet vergeten ook het aantal decimalen mee te geven in decimal places, of je kan de afrondingsfunctie Round(getal, aantal posities) gebruiken.
 
afronden

Ik had de eigenschappen wel degelijk ingevuld. Maar dit deed er niet toe. De functie round heb ik niet geprobeerd.
 
Afronden in de notatie zoals noella aangeeft (en je al gedaan had) moet je nooit doen, omdat je de getallen dan alleen visueel verandert. Wil je de feitelijke uitkomsten afronden, dan kan dat alleen met de functie ROUND. Dat doet dan overigens niets aan de hoeveelheid cijfers die je ziet. Dát kun je dan weer met de Eigenschappen instellen.
 
Ik weet niet waarvoor je wil afronden, maar opletten als dit voor facturen is: daar moet je de BTW berekenen op het niet afgeronde bedrag, dus als je de cijfers op de inviduele lijnen wil afgerond tonen: via opmaak. Het totaal moet afgerond worden op 3 cijfers en getoond op 2 cijfers (regels van onze hoofdboekhouder gekregen)
 
Net niet afronden is de vraag.

ik wil juist niet afronden. Het werd afgerond! Nu niet meer door formule aan te passen.
 
Kan je misschien eens kijken welk symbool je voor decimalen gebruikt: in je formule gebruik je 1.02, moet dit niet misschien 1,02 zijn?
 
De code die je in bericht #3 hebt gezet komt uit het SQL venster. Daar gebruik je Amerikaanse notatie, dus 1.02. De code uit bericht #6 komt uit het Ontwerpvenster van je query. Dan gebruik je, als je de Nederlandse versie gebruikt, de komma, dus 1,02. Je kunt dat niet zomaar heen en weer plakken.
 
Ik plak niet over en weer hoor. Ik ga eigenlijk nooit in sql werken. Je vroeg naar die code. daarom heb ik ze hier even geplakt.
Of ik nu 1.02 of 1,02 gebruik, resultaat hetzelfde.
Ik heb het dus anders opgelost. Qry werkt dus ik ben tevreden.
allemaal bedankt voor de reactie
 
Overigens zou ik de berekening zelf nooit in de query doen (zeker niet op deze manier, met verwijzingen naar een formulier in een query) maar gewoon uitrekenen op het formulier zelf. Lijkt mij een stuk makkelijker. Daarnaast zou je berekeningen op basis van dynamische (prijs)velden ook op moeten slaan :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan