PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
4760 | 99/01/26 13:41:11 | RE(2):PB6: dwの各行のdddwで、Filterを使用しているのですが・・・ By tshimada |
4758 | 99/01/26 11:31:25 | RE(1):PB6: dwの各行のdddwで、Filterを使用しているのですが・・・ By てとらぽっと |
4756 | 99/01/26 10:32:08 | PB6: dwの各行のdddwで、Filterを使用しているのですが・・・ By tshimada |
カテゴリ:データベース
日付:1999年01月26日 11:31 発信者:てとらぽっと
題名:RE(1):PB6: dwの各行のdddwで、Filterを使用しているのですが・・・
tshimadaさん、こんにちは。
>伝票の明細として使用するデータウィンドウにて、
>選択用のdddwを定義しています。
>で、各明細行の『商品コード』によって必要なものだけ抽出したいと思い、
>スクリプトで、そのdddwにFilterをかけました。
>(その商品コードも明細で入力するので、
> あらかじめ決まっているものでは有りません)
>すると、(例えば)2行めでFilterをかけた事によって、
>1行めで選択した内容が2行目のFilterの結果にない場合、
>表示している内容がおかしくなってしまうのです。
>
>どうおかしいかと言いますと、
>『表示カラム』と『データカラム』に別のカラムを指定いるのですが、
>上記のような現象になった場合、データカラムが表示されてしまうのです。
まず。DDDWは行ごとに作られているのではなく、DW全体に対して作られます。
(そのためネスティッドに比べて高速に動作してくれるのです。)
ですから「2行めでFilterをかけた」ことですべての行に対して、
DDDWの行にないデータは表示カラムが見つからないために、
データカラムが表示されてしまいます。
>dddwにFilterをかけても、他の明細行に影響を与えない方法はないでしょうか?
>どなたか知恵をお貸し下さい。
実際にやっている割と簡単な方法です。
ベースとなるDWに問題のカラムを2個貼り付け、どちらも編集様式に同じDDDWを選びます。
1つめにはデータカラム、表示カラムともに「コード」を設定します。
2つめにはデータカラムに「コード」、表示カラムに本来の「表示カラム」を指定し、
カラムを編集不可にしておきます。
FilterをかけるのもユーザーにDDDWで選ばせるのも、操作はすべて「1つめ」のみにします。
データカラム = 表示カラムなので、Filterしても見た目上におかしくはなりません。
ベースとなるカラムが同じなので「1つめ」を変更すれば他方のカラムも自動的に変わります。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows95
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.