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

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