掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DBgird1 で該当する行だけの合計を出したいのですが (ID:20344)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
if query1.fieldbyName('計').AsInteger<>0 then begin Sum := Sum + query1.fieldbyName('損得').AsInteger; Query1.Next; end; の様に記述すると、query1.fieldbyName('計').AsInteger=0の場合、この中を通らないので、Query1.Nextを実行しません。 if query1.fieldbyName('計').AsInteger<>0 then begin Sum := Sum + query1.fieldbyName('損得').AsInteger; end; Query1.Next; //必ず通る。 OnCalcFieldsイベントを使う場合 query1を右クリックして、[項目の設定]を選びます。 項目エディターを表示しますので、項目エディターを右クリックして、[すべての項目の追加]でFieldを追加します。 ここで、計算結果を入れる項目を作ります。 項目エディターを右クリックして、[項目の新規作成]で計算項目を作ります。 ここでは、[SintokuKei]という名前でCurrency型とします。 これだけ用意しておいて、query1のOnCulcFieldイベントの中で DataSet.FieldByName('SintokuKei').asCurrency:= DataSet.FieldByName('個数').asInteger * DataSet.FieldByName('金額').asCurrency; とすれば、計算結果を表示します。 dbGridに計算項目を表示させればOK
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.