過去の桐井戸端BBS (桐ver.9) |
29064 | 伝票フォーム上で条件付き集計をしたい | tetsu-s | 2005/02/16-01:45 |
お世話になります。 伝票形式フォームで ヘッダーに[コード]、明細部に[金額],[課金]とします。 [課金]のデータ型は整数値で"0"か"1"しか入力しません。 グループ化した[コード]の合計金額の表示方法で 明細部に入力した”#合計([金額])”とは別に [課金]=1の金額の合計だけを表示したいのですが、いい方法を教えて下さ い。 現在は表.TBLに[課金金額]を設けて計算式”[金額]×[課金]”とし、 伝票形式フォームで”#合計([課金金額])”としています。 表.TBLで[課金金額]がなくても、伝票フォーム上で処理できる方法を知りたいのです。 よろしくお願いします。 | |||
29067 | Re:伝票フォーム上での条件付き集計 | 宮城 | 2005/02/16-09:39 |
記事番号29064へのコメント tetsu-sさん、こんにちは。 >表.TBLで[課金金額]がなくても、伝票フォーム上で処理できる方法を知りた >いのです。 これどうしてでしょうか? 集計したいもの別に項目作ってタテにすとんと#合計([課金金額])とやったほうがずっと楽ですよ。 集計したい分類が増えるほどてきめんに。 項目計算式は、#条件選択([課金]=1,[金額],1,0)ぐらいにしておいたほうが応用がきくと思います。 | |||
29073 | Re:伝票フォーム上での条件付き集計 | tetsu-s | 2005/02/16-21:10 |
記事番号29067へのコメント 宮城さん、早速の回答ありがとうございます。ひとつ確認させてください。 表.tblに別に項目を設けたほうが良いということですよね。 ”集計したい分類が増えるほどてきめんに。”も理解できます。 フォーム上に#条件選択を使って[課金]=1の合計金額を出す方法はないのでしょうか? | |||
29074 | Re:伝票フォーム上での条件付き集計 | 悲しげ | 2005/02/16-21:45 |
記事番号29073へのコメント >フォーム上に#条件選択を使って[課金]=1の合計金額を出す方法は >ないのでしょうか? 「フォーム上に#条件選択を使って」だけでやる方法は、たぶん無いと思います。 ゆえに、私も別項目増設で対処すると思います。 | |||
29076 | Re:伝票フォーム上での条件付き集計 | 宮城 | 2005/02/16-23:51 |
記事番号29074へのコメント 悲しげさん、どうもです。 なんで、そういう関数がないかですが、Excelにはまねのできない「絞込み」があるからでしょうね。 [課金]=1で絞り込む。 #合計([金額])の値をなんかの変数に取り込む。(これは見えないようにしておくとか。) 絞り込み解除する。集計らしき領域のソース変数を「なんかの変数」にしておけば、コマンドボタンでできるかも。 # 所詮、表計算とDBは別物。 | |||
29077 | Re:伝票フォーム上での条件付き集計 | hidetake | 2005/02/16-23:59 |
記事番号29076へのコメント >[課金]=1で絞り込む。 >#合計([金額])の値をなんかの変数に取り込む。(これは見えな >いようにしておくとか。) こういう場合は、検索で集計じゃないのかな? #prgn(#cond([課金]=1,#setq(&合計値,&合計値))),"HogeHoge") と言うような式で絶対に検索されずに #eof に行く条件で検索。 もちろん、&合計値 などはあらかじめ初期化。 あとは、グループ値更新や結果の変化する項目のソース値変更などには再集計を入れておく必要も・・・ | |||
29078 | Re:伝票フォーム上での条件付き集計 | hidetake | 2005/02/17-00:02 |
記事番号29077へのコメント >#prgn(#cond([課金]=1,#setq(&合計値,&合計値))),"HogeHoge") 何書いているんだか? (;_;) #progn(#cond([課金]=1,#setq(&合計値,&合計値+[[金額])),"HogeHoge") | |||
29079 | Re:伝票フォーム上での条件付き集計 | hidetake | 2005/02/17-00:12 |
記事番号29078へのコメント > こういう場合は、検索で集計じゃないのかな? 何故絞り込みで無く、検索で集計かと言うと、いくつも(条件によって) 集計したい場合に、いちいち絞り込み解除を繰り返さなくとも、 1回の検索で、それを代入するための変数を用意しておけば、#progn で どんどん条件で計算させて、さらっと1回なめるだけで済みます。 これって、昔からある酒井本で書かれてもいる古くからの手法ではあります。 | |||
29080 | Re:伝票フォーム上での条件付き集計 | tetsu-s | 2005/02/17-00:18 |
記事番号29064へのコメント 皆様のご教授に感謝します。 色々ためしてみます。 ありがとうございました。 | |||
29081 | Re:伝票フォーム上での条件付き集計 | 宮城 | 2005/02/17-01:41 |
記事番号29079へのコメント hidetakeさん、ぴっかりです。こういう手があるとは思い至りませんでした。m(_ _)m | |||
29102 | Re:伝票フォーム上での条件付き集計 | 宮城 | 2005/02/18-14:55 |
記事番号29079へのコメント 実行報告。コマンドボタンに以下記述。 機能名 機能パラメータリスト 1 なし #setq(&合計値,0) 2 検索_比較式 [金額]=#progn(#cond([課金]=1, #setq(&合計値,&合計値+[金額])),-1) # [金額]は数値だから"HogeHoge"はよろしくない? # 「マッチせず」のダイアログはしかたないですね。 |