過去の桐井戸端BBS (桐ver.8)
17292 同じ項目で条件によって表示桁数を変える事はできますか 大原孝一 2002/09/18-16:58
桐Ver8 sp6を使用しています。

同じ項目(数値型)で、表示桁数を変えることは出来ますか?
面積の時は2桁で00.00、一式のときの1は整数のようにしたいのですが
たぶん出来ませんよね。印刷の時に変えればいいのですから

もし表の表示で変えられたら、お返事ください
17294 項目属性の桁数変更 佐田 守弘 2002/09/19-00:31
記事番号17292へのコメント
大原孝一さん
表形式編集画面の表示桁数は、「項目属性変更」コマンドで変更可能です。

ただし、
>面積の時は2桁で00.00、一式のときの1は整数のようにしたい
は、意味が分かりません。
意味が分からないと言うより、桐の条件式で書き様がありません。

佐田守弘(KS-00119)


17295 Re:項目属性の桁数変更 大原孝一 2002/09/19-07:48
記事番号17294へのコメント
佐田 守弘先生、解答ありがとうございました。
>面積の時は2桁で00.00、一式のときの1は整数のようにしたい
>は、意味が分かりません。

もう少し、詳しく問題の説明をしますと
表の項目表示条件の条件編集タブ(一度も使った事がありませんが)に
「条件式によって表示状態を変更します。」とありますよね

ここで、選択条件関数で[単位]=”u”の時[数量]の桁数を2に、[単位]=”式”の時
[数量]の桁数を-1に出来るかなと思ったのです。

”式”とは1式、2式のように数量を整数表示するのです。

そこで、項目表示の桁数を条件によって変更できる関数を探したのですがありませんでした。←>桐の条件式で書き様がありません。

>表形式編集画面の表示桁数は、「項目属性変更」コマンドで変更可能です。

一括処理コマンドのことですね、この場合対象項目すべての行の桁数を変更するってことですよね。
私が求めたことは、エクセルのようにすべてのセルで表示が変えられるように
せめて、条件によって桁数表示が変えられないかなと思っただけです。
ただし「数値項目に文字列を入れたい」なんてことは言ってません。

以上あまり意味のない質問で申し訳ありませんでした。

この問題は、印刷(レポート)時に処理すればいいことで、表編集時に求めることではありません。
このように「桐」ってよくよく考えると解決策がどこかにあるんですよね。
だからやめられない。
17300 Re:項目属性の桁数変更 natsu 2002/09/19-18:03
記事番号17295へのコメント
表編集をするときに、他の項目値によって表示条件を変えたいと・・・
背景色やフォントなら苦労はありませんが、表示桁数までとなると・・・
たまに、表のまま作業をしたいというリクエストで書き込みがありますが
会話形式での処理であれば、フォーム使用を躊躇する理由はないと思います

フォームを使用しても、行ごとに表示桁数が変更できて、
しかもその項目値の訂正までできるというのは、やはり無理がありそうです
次善の策になりますが、どのみちレポートでオブジェクトに計算式を入れて処理するのであれば
表の段階で[表示]と言う項目を作成してはいかがでしょうか
これなら
>「数値項目に文字列を入れたい」
も可能になります

一覧表フォームを作成して
[数量]が目的とする項目であり、オブジェクト名が t数量 であれば
ヘッダにコマンドボタンを一つ貼り付けて ボタンに以下のイベントを
貼り付けてください(ソースが&比較式のテキストオブジェクトもヘッダに
配置してみてください コマンドボタンをクリックするたびに入力モードと
表示桁調整モードが入れ替わります)

オブジェクト操作 &STR = @t数量.ソース
ケース開始
ケース (&STR="[数量]")
オブジェクト操作 @t数量.ソース="[表示]"
&比較式="参照モード"
ケース (&STR="[表示]")
オブジェクト操作 @t数量.ソース="[数量]"
&比較式="入力可能モード"
ケース終了
メソッド呼び出し @フォーム.変数変更( )
メソッド呼び出し @t数量.再描画( 1 )

オブジェクト操作でソースを[表示]ではなく
目的の計算式にすれば、[表示]は必要ありませんが
こちらで簡単にテストしたところ
挙動不安定なので、あしからず

こうするより、入力用と表示用のフォームを2ヶ作って
ボタンで切り替えた方が速そうですが

17301 Re:項目属性の桁数変更 うにん 2002/09/19-20:25
記事番号17295へのコメント
>ここで、選択条件関数で[単位]=”u”の時[数量]の桁数を2に、[単位]=”式”の
>時[数量]の桁数を-1に出来るかなと思ったのです。
>
>”式”とは1式、2式のように数量を整数表示するのです。

このように行毎に関連がない数値なら、たぶん行集計したりもしないと思うので、
数値でなく文字列項目にしてしまって表示したいように入力するのも手でしょう。
行の中で[数量]x[単価]のような計算に使いたければ、#数値([数量])で変換できますし。
(変換できないような文字列を入力してしまう危険性がありますが、
そういうのは項目制約条件ではねればいいです。)

>この問題は、印刷(レポート)時に処理すればいいことで、表編集時に求めることで
>はありません。

まあ、そうですよね。
17303 結論 大原孝一 2002/09/20-09:31
記事番号17292へのコメント
natsuさん、うにんさん、アドバイスありがとうございます。
結局下記のことで解決させましたので、ご報告いたします。

表にて、項目[数量]を[数量1](桁数2)、[数量2]桁数0に複数化した。

レポートにて、数量の列のオブジェクトのテキスト欄に

#条件選択([数量1]>0,#文字列([数量1],-2),[数量2]≧1,#文字列([数量2],1),1,"")

と記入した。

これで、思い通りの結論が出せました。
データーベースの「桐」ですから、性格の異なる数値は別項目とすっきり分けました。

以上

戻る