Article View: pl.comp.bazy-danych.msaccess
Article #63Re: UWAGA: NOWA MATEMATYKA ! ....
From: Grzegorz Godlewski
Date: Mon, 15 Feb 1999 14:49
Date: Mon, 15 Feb 1999 14:49
60 lines
3571 bytes
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-mailReferences:
<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