Gustav Brock
gustav at cactus.dk
Fri Mar 19 01:58:55 CST 2004
Hi Bert-Jan You can do that, of course, but it is preferable to solve a problem by its root. /gustav > Gustav, > thanks for your answer. I keep forgetting textboxes only contain text... i > think i will forget it this time again... ;-) > The maximum is 2 decimals so that is no problem. But since the differences > was at the 15th decimal (although i only tested this 1 time...) I decide to > add round([calculation];2) in the total field. I think this is ok because i > know only numers with 2 decimals are entered.... > Bert-Jan > ----- Original Message ----- > From: "Gustav Brock" <gustav at cactus.dk> > To: "Access Developers discussion and problem solving" > <accessd at databaseadvisors.com> > Sent: Thursday, March 18, 2004 11:18 AM > Subject: Re: [AccessD] Strange results with simple calculation on a form >> Hi Bert-Jan >> >> Welcome back. >> >> Unbound textboxes contain text no matter how you format them. >> And decimals may not be exact Doubles and indeed not Singles. >> >> If you can accept a maximum of four decimals, use CCur(txtYourTextbox) >> to convert to Currency before doing any calculation or comparison. >> Else use CDbl() and compare to a max. tolerance of your choice: >> >> If Abs(dblTotal - dblAmount) < 1E-7 Then >> ' Values are equal. >> End If >> >> /gustav >> >> >> > Hi all, >> >> > i was forced to unsubscribe a while ago because i couldn't keep up with you >> > and all the messages... ;-) >> >> > But today a strange thing happened i had to ask you all about. I didn't do a >> > big search on the internet, but searched the accessd archives and didn't >> > find it. It maybe is a well known problem, but here it goes..... >> >> > I have an unbound form where users will type amounts. All the txtboxes' >> > format are set to "standard" and the decimal places is set to 2. And i check >> > on the before_update event of these txtboxes if there are more then 2 >> > decimals, if so, cancel = true. There is an calculated total control >> > (txtTotal) wich has a controlsource like =[txtbox1]+[txtbox2] and so on (in >> > total 12 txtboxes) >> > These txtboxes are used to 'split up' the amount in another txtbox. >> > (txtAmount) >> >> > Before saving i check if txtAmount = txtTotal. When no decimals are used >> > there is no problem, if there are only used decimals in 1 txtbox there is no >> > problem. But if there are used decimals in more txtboxes access will tell me >> > the values are not the same..... although the same values are shown... it >> > turns out there is a difference of: 0.00000000000000710542735!!!!!! >> > (debug.print told me this!) >> >> > When i use the same 'function' in VBA it works fine with the same >> > values....???? >> >> > So it is not a real problem, but it IS something strange... wel to me it >> > is.... >> >> > Thanks in advance. >> >> > Hope to keep up with you this time... ;-) >> >> > Bert-Jan