🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.bazy-danych.msaccess
Article #63

Re: UWAGA: NOWA MATEMATYKA ! ....

#63
From: Grzegorz Godlewski
Date: Mon, 15 Feb 1999 14:49
60 lines
3571 bytes

news wrote:

> ... w Accessach 7 & 8 :
> Zawsze sie jakoś bałem pisać bazy liczące pieniądze (księgowość,
> płace, fakturownie, itp), nie wiedziałem dlaczego. Teraz przyszło mi
> przeprosić własną intuicję. Bałem się, ale tłumiłem w sobie
> strach i pisałem, pisałem, pisałem...
> No i mam... Nową matematykę w A95 i 97. Bo nie wiem czy już wiecie
> Fachowcy-Accesowcy, że mnożenie liczb nie zawsze musi być przemmienne...
> Choć tak naprawdę to niewiem czy błąd tkwi w: opertorze mnożenia '*',
> funkcji CLng(), czy moim ich używaniu.... A zaczęło się to tak:
>
>    Po rozpoczęciu nowego roku, pełen nadziei w to co (może) on przyniesie
> przystąpiłem do modyfikacji bazy płacowej w związku ze reformą ZUS...
> Licząc pensję pracownika kwerendą wstawiłem kolumnę liczącą składkę
> na ubezpieczenie wypadkowe (2,03% podstawy):
>
> UbWyp:CLng([Podstawa]*2,03)/100     (CLng - ma zaokrąglać )
>
> Po exporcie danych do Programu Płatnika (ktoś z Was też to robił ?)
> Płatnik zgłasza dla kilku pensji błąd wyliczenia składki. Biore kalkulator
> i rzeczywiście ma racje... bo np dla:
> [Podstawa] = 650
> moje UbWyp=13,19  a powinno 13,20 ( źle zaokrąglone )
>
> Zacząłem experymentować i zauważyłem że :
> CLng(650*2,03)/100 = CLng(650*0,0203*100)/100 = 13,19
> ALE JUŻ:
> CLng(100*650*0,0203)/100 = 13,20
>
> Przy używaniu CLng() w AccBasicu pojawia się błąd przepełnienia
> i pomaga zmiana typu: CLng(CDbl(X)) ,choć i to nie zawsze...
>
> A ja w swoich bazach do zaokrąglania zawsze używałem CLng() ....
> Chyba najlepszym sposobem na zaokrąglanie w Acc będzie napisanie własnej
> funkcji podobnej do ZAOKR() z Excella...
>
> Teraz widząc w swoim tlewizorze żółty pochylony w lewą ( właśnie: dlaczego
> w lewą ?) strone kluczyk, mina mi poważnieje nabierając wyrazów wyrzutów,
> niedowierzania i niepewności ...
> Jak dalej żyć... ?  Jak tu dalej accesować ... ? I jak w Acc. zaokrąglać ?
>
> Staaach
> swidanka@pg.gda.pl
>
> P. S.
> " Coś przykrego... "

Niestety, zaokrąglanie za pomocą CLng jest niepoprawne. O tym informuje help.
A szkoda. Funkcja zaprezentowana przez Stanley jest najprostrza jaką znam.
Osobiście napisałem własną funkję, która jest bardziej skomplikowana i oparta
jest na funkcjach tekstowych. Dzięki niej można dokonać zaokrągleń na liczbach
nie tylko typu Waluta ale i zmiennoprzecinkowych, dodatnich jak i ujemnych.

Niemniej szkoda, że w Accessie nie ma przydatnych funkcji Excelowskich. A może
ktoś wie jak z nich skorzystać w Accesie?

Grzegorz Godlewski
Technical Details
Message-ID: <36C833B9.113F009D@polbita.com.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!polsl.gliwice.pl!news.man.poznan.pl!news.icm.edu.pl!orion.cst.tpsa.pl!news.tpnet.pl!not-for-mail
References: <01be07d0$bc8b7280$395775c3@yarzig.zetobi.com.pl> <3648bdc8.0@news.vogel.pl> <YF1x2.8929$WL1.1437280@news.tpnet.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!polsl.gliwice.pl!news.man.poznan.pl!news.icm.edu.pl!orion.cst.tpsa.pl!news.tpnet.pl!not-for-mail
Message-ID: <36C833B9.113F009D@polbita.com.pl>
From: Grzegorz Godlewski <gg@polbita.com.pl>
X-Mailer: Mozilla 4.07 [en] (Win95; I)
MIME-Version: 1.0
Newsgroups: pl.comp.bazy-danych.msaccess
Subject: Re: UWAGA: NOWA MATEMATYKA ! ....
References: <01be07d0$bc8b7280$395775c3@yarzig.zetobi.com.pl> <3648bdc8.0@news.vogel.pl> <YF1x2.8929$WL1.1437280@news.tpnet.pl>
Lines: 63
Date: Mon, 15 Feb 1999 14:49:52 GMT
NNTP-Posting-Host: 195.117.151.147
X-Complaints-To: abuse@tpsa.pl
X-Trace: news.tpnet.pl 919090192 195.117.151.147 (Mon, 15 Feb 1999 15:49:52 MET DST)
NNTP-Posting-Date: Mon, 15 Feb 1999 15:49:52 MET DST
Organization: TPNET - http://www.tpnet.pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit