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 (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.