PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
21558 | 04/09/30 16:10:41 | RE(1):PB7.0: Datawindow表示可能式内でのNumber型の扱い By ZONE |
21546 | 04/09/27 10:34:40 | PB7.0: Datawindow表示可能式内でのNumber型の扱い By hiroaki_2 |
カテゴリ:PowerBuilderの開発環境
日付:2004年09月30日 16:10 発信者:ZONE
題名:RE(1):PB7.0: Datawindow表示可能式内でのNumber型の扱い
hiroaki_2さん、こんにちは。
DBMSの詳細が記載されていなのでなんともいえませんが、
アシストのHPにそれらしきことが書いています。
http://powersoft.ashisuto.co.jp/technicalservice/techdocument/technoteonline/database/index.html#num
01
データベースORACLE 1019020
>こんちは
>PowerBuilder9で開発を行なっているのですが一つ困った問題が発生しているのでお助け頂けないでしょうか?
>その内容は集計したカラムの表示、非表示制御の為に表示可能項目に式をセットしているのですが
>計算結果がうまく反映されないのです
>Number型のデータをSumで集計したカラムの結果を元に計算しているのですが
>Datawindow表示可能式内で書いた同じ計算式をソースのロジック内で行なうと正常な結果になります
>デバッグする時に色々な方法で値を取得し試したのですがGetItemNumberで値を取得すると2.01となるものが
>GetItemDecimalで取得すると2.0099999764みたいに元の値と違う結果が返ってきてるようです
>もちろんGetItemDecimalを行う前に2.01とSetItemしても結果は同じです
>なのでDatawindowの式内ではNumber型も変な結果を返すDecimal型として扱われているのでは?と、
>推測していますが解決方法が見つかりません
>truncate(compute1 + 0.0000001, 2)などとやっても中で更に他の計算をすると結果がうまく反映されません
>例:Mod(truncate(compute1 + 0.0000001, 2) - truncate(compute2 + 0.0000001, 2), truncate(compute3
+
>0.0000001, 2))の結果は0のはずなのに0ではない結果が返ってきているようです
>ソース内のロジックで行うと結果は正しいのにDatawindow表示可能式内で行うと結果が正しくないのです
>これはDatawindowのバグなのでしょうか?
>同じ様な経験をされた方はどのように解決されたのか?
>分る方がいれば是非その方法をお教え頂きたいと思います
>
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows 2000
DBMS その他
Browser (記載なし)
Server SoftWare
OS Windows 2000
DBMS その他
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.