PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
2862 98/08/20 18:08:34 RE:RE:PB6: DDDWの更新タイミングがわかりません By tshimada
2857 98/08/20 16:39:00 RE:PB6: DDDWの更新タイミングがわかりません By YM
2856 98/08/20 15:26:34 PB6: DDDWの更新タイミングがわかりません By tshimada

カテゴリ:旧電子会議室
日付:1998年08月20日 16:39 発信者:YM
題名:RE:PB6: DDDWの更新タイミングがわかりません

> こういうことで困っています。
>知っているかたがおられたら、教えてください。

>例) 商品マスタメンテ画面(メニューウインドウ)を作成し、
>     キー項目(商品コード)に 商品マスタのDDDWをつけました。

>     そのメニューで新商品コードを追加しても、DDDWに反映せれません。??
>     一旦、終了すれば出てきます。

>なにか発行してやらないといけないのでしょうか?

こんにちは、YMといいます。

DDDWの検索は次の2つタイミングで行われます。
1、親のデータウィンドウが検索されたとき
    DDDWの検索が行われすべてのDDDWの検索が終了した後に
    親のデータウィンドウの検索が実行されます。
2、親のデータウィンドウが空の状態(検索前の状態)でinsertrow関数で
    行を挿入したとき。

したがって、親のデータウィンドウで検索後マスターにデータを追加しても
自動的には反映されません。
最新のデータを反映させたい場合はスクリプトでDDDWを再検索しなければ
なりません。

[再検索の方法]
DDDWはチャイルド データウィンドウ(データウィンドウ チャイルドとも言っています)です。
このチャイルド データウィンドウを適切なタイミングで再検索してやると最新の情報が取得できます。
以下にサンプルのスクリプトを記述します。


DataWindowChild    ldwc  //チャイルド データウィンドウの参照変数

integer rtncode

//\'code\' はDDDWを配置したカラム名
rtncode = dw_1. GetChild( \'code\', ldwc )   //チャイルド データウィンドウを取得します
IF rtncode = -1 THEN 
  MessageBox(\"エラー\", \"チャイルド データウィンドウが取得できません\")
  return
END IF

//トランザクション オブジェクトをチャイルド データウィンドウに設定します。
ldwc.SetTransObject(SQLCA)

//チャイルド データウィンドウのデータを検索します。
ldwc.Retrieve()

以上でDDDWの再検索ができます。   

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)

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