PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
21488 04/08/13 18:09:39 RE(2):PB7.0: InsertRowしたDWの並び順について By sori
21487 04/08/13 14:47:33 RE(1):PB7.0: InsertRowしたDWの並び順について By Chicchi
21486 04/08/13 13:29:14 PB7.0: InsertRowしたDWの並び順について By sori

カテゴリ:スクリプトの記述
日付:2004年08月13日 13:29 発信者:sori
題名:PB7.0: InsertRowしたDWの並び順について

こんにちは。度々失礼します。
ご存知の方がいらっしゃいましたら教えてください。

// dwのクリア
dw_3.Reset()
dw_2.Reset()

For cnt = 1 To row
    ls_yotei = dw_1.GetItemString(cnt,\"予定No\")
    ls_nyuko = dw_1.GetItemString(cnt,\"入庫No\")
    ll_eda = dw_1.GetItemNumber(cnt,\"入庫枝番\")

    dw_3.InsertRow(0)
    i = RowCount(dw_3)
    dw_3.SetItem(i,\"予定No\",ls_yotei)
    dw_3.SetItem(i,\"入庫No\",ls_nyuko)

    dw_2.InserRow(0)
    dw_2.SetItem(i,\"予定No\",ls_yotei)
    dw_2.SetItem(i,\"入庫枝番\",ll_eda)
Next

予定Noがユニークです。
上記のようにセットすると、dw_3,dw_2は同じ行数作成されますよね?
最終的にはこの2つのdwを更新して、最後にcommitをかけたいのですが、
その前に料金情報(dw_7)を作成しなければならず、
それはdw_2の件数単位で作成します。
この時、dw_7には入庫Noが必要なのでdw_3からとってこようと思ってます。

< dw_2のユーザーイベント >
For row  = 1 To RowCount(this)
  dw_7.InsertRow(0)
  j = RowCount(dw_7)
  dw_7.SetItem(j,\"予定No\",dw_2.GetItemString(row,\"予定No\"))
  dw_7.SetItem(j,\"入庫No\",dw_3.GetItemString(row,\"入庫No\"))
  dw_7.SetItem(j,\"入庫枝番\",dw_2.GetItemNumber(row,\"入庫枝番\"))
Next

とした場合、dw_2の予定Noと同じ予定Noのdw_3.入庫Noがセットされるのでしょうか?
dwのソート指定で予定Noを指定すれば、Retrieveしなくても予定No順になりますか?

テーブルに更新してから、データを抽出すればよいのですが、
エラーがあった場合、全てRollBackしたいので、Commitは最後の最後にしたいのです。

試してやってみようとは思うのですが、たまたま上手くいっていただけだと困るので、
皆さんの意見をお聞かせください。
よろしくお願い致します。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows 2000
DBMS Microsoft SQL Server Client 6.5
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Microsoft SQL Server 6.5
WebServer (記載なし)

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