ActiveReportの合計取得について

解決


TOT  2010-01-27 12:26:47  No: 143143  IP: [192.*.*.*]

金額の合計の取得方法についての質問です。
※ActiveReport  Ver1.5を使用しています。
合計は、プロパティのSummaryを使用し取得しているのですが、ある条件が一致するものは金額が重複している場合、Visible「False」を使用し非表示にしています。
しかし、合計金額にはこの非表示にした金額も合算されて表示されてしまいます。
どなたか、もし、分かれば教えてください。よろしくお願いします。

編集 削除
A-S  2010-01-27 15:36:42  No: 143144  IP: [192.*.*.*]

visibleがfalseであっても、実際のレポート上のフィールドには金額が入力されていますので、積算の対象となっています。

ActiveReport側へ表示対象のデータを引き渡す以前に、条件判断が可能であるなら、引渡し以前に条件判断をして金額を0にするなりの処理をしてあげればどうでしょうか。

もしくは、出力時にFetchData中で条件判断を行うか、だと思います。

編集 削除
TOT  2010-01-27 16:22:52  No: 143145  IP: [192.*.*.*]

A-Sさん、返信ありがとうございます。
>ActiveReport側へ表示対象のデータを引き渡す以前に
条件判断ができない為、無理そうです。。
>もしくは、出力時にFetchData中で条件判断を行うか、だと思います。
現在、該当データがない場合はメッセージを表示するという条件はあるのですが、どの様に書けばよいか良く分かりません。
今から、勉強してみます。

編集 削除
TOT  2010-01-27 17:09:40  No: 143146  IP: [192.*.*.*]

すみません。
今更なのですが、表示されている = Visible「True」のみの合計は取得できないものなのでしょうか?

編集 削除
A-S  2010-01-27 18:23:51  No: 143147  IP: [192.*.*.*]

使用している環境は何でしょうか?

VB6辺りを想定しますが、

Private Sub ActiveReport_FetchData(EOF As Boolean)
  '' EOFの判断

  '' 対象データの条件判断
     '' 金額が重複している場合
        '' 重複している金額を0に
     ''
  ''
End Sub

上記のような感じで、fetch中に値変更は出来ると思います。
ただ、データバウンドフィールドをコードで記述している場合でしか試したことがないので、データオブジェクトを使用している場合にfetch中の値変更が可能かは解りません。。。

>表示されている = Visible「True」のみの合計は取得できないものなのでしょうか?
フィールドプロパティのsummaryを利用している場合、条件での判断は出来ないと思います。
CrystalReportなら条件式の記述をありますが・・・。

コードでフィールドのvisibleを判断して集計することなら可能なはずです。

編集 削除
TOT  2010-01-28 09:50:05  No: 143148  IP: [192.*.*.*]

A-Sさん、再度、返信ありがとうございます。
また、日を跨いでしまいすみません。
>使用している環境は何でしょうか?
ご想像の通り、VB6を使用しています。

>  '' 対象データの条件判断
この方法で正常に合計を取得する事ができました!

本当に本当に助かりました。
ありがとうございます。

これで解決とさせて頂きます。

編集 削除