掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DBgird1 で該当する行だけの合計を出したいのですが (ID:20343)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
質問を出しておきながら返事を書くのが遅くなりました。 申し訳ありません。 たまに思い出してDelphiをやるもんですからいつも初心者です。 Basserさんに指摘いただいた無限ループも。 そうなのか?との程度でしか理解できません。 それでパソコンが止まってしまっているのですね。ありがとうございます。 Ruさんに頂いた 「OnCalcFieldsイベントに記述しているならば,Query1.Nextは不要な気がします。」 ですが、上記の例で「損得」の合計を表計算みたいに他の場所「セル?」に出力 することがわかりませんのでDBgridの外に Editを設けています。 Edit1 <--ここに出力 損得 -15 -14 -2 10 While not Query1.Eof do begin Sum := Sum + query1.fieldbyName('損得').AsInteger; query1.Next; end; Edit1.Text:=inttostr(Sum); Query1.First; これで合計は出るのですがこれですと全部の合計が出てきてしまうものですから 「個数」「金額」を入力していないのは省いて損得の合計を出したいのですが。。 HOtaさんに頂いたSQLはもう少し勉強してみます。 全体的なことが理解できてないです。 このような場合はボタンを押してSQL文で計算させるのでしょうか? execllのように式を入れといて自動計算ができたらと思ってたものが OnCalcFieldsをみつけたものですからプログラムを始めたしだいです。 「レコードの4行目が不要な場合は、最初から除くのがよりよい対応だと思います。」 このとおりですね。 返事を書かせていただくにも冷や汗ものです。 ありがとうございます。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.