PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
22692 | 06/07/11 09:01:04 | RE(2):PB7.0: データウィンドウ同志の比較 By 梶 |
22691 | 06/07/10 13:34:51 | RE(1):PB7.0: データウィンドウ同志の比較 By 梶 |
22690 | 06/07/10 12:13:48 | PB7.0: データウィンドウ同志の比較 By inui |
カテゴリ:スクリプトの記述
日付:2006年07月11日 09:01 発信者:梶
題名:RE(2):PB7.0: データウィンドウ同志の比較
inuiさん、おはようございます。
済みません。ちょっと勘違いをしてましたね。
>マッチングする関数があると思っていたのですが、
>過去ログにて、dw同志のマッチング機能はないとありました。
>皆さんはどのような方法でこのような時、判断しているのでしょうか?
>やはりループで1件ずつ判断という方法でしょうか?
前の回答では、結局1件ずつループさせなくてはならなくなるので、
こういう方法ではどうでしょう。
先ず、請求修正用のDatawindowに、比較用の金額カラムを追加して
Datawindow内に追加した金額カラムの値と修正入力用の金額カラムの値とが
一致しているか否かの計算フィールドを作成。
その計算フィールドを集計して、最終判断に使用する。
例であげると
---
先ず抽出SQLは・・・
SELECT 請求金額 AS 比較用金額,
請求金額 AS 入力用金額
FROM 請求データ
※更新属性で、比較用金額は更新対象から外しておく
---
Detail区に作成する計算フィールドの式は・・・
if(比較用金額 = 入力用金額, 0, 1)
※計算フィールドの名前はcompute_1
---
Summary区に作成する計算フィールドは・・・
sum(compute_1 for all)
※計算フィールドの名前はcompute_2
---
更新処理時に・・・
int mods
mods = dw_1.GetItemNumber(1, \"compute_2\")
IF mods > 0 THEN
//未処理フラグを立てる
END
・・・といった感じでしょうか?
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows 2000
DBMS Microsoft SQL Server Client 7.0
Browser (記載なし)
Server SoftWare
OS Windows 2000
DBMS Microsoft SQL Server 7.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.