過去の桐井戸端BBS (桐ver.8)
3469 履歴で絞り込みしたとき、データがないと止まってしまう 渡邉 1999/11/25-01:18
いつも拝見大変勉強になっています。
桐v8
6時間位かけてこさえた「履歴」に何で、何で? (T_T)

作業内容:
1つの「データ入力tbl」に、年月・男女・その他のデータを
入力する。(ランダムに)

その男女のデータには各4つのグループに分ける(ここが問題点)、
更にグループ分けた毎に集計し、その集計行のみを各グループ
ごとに作った
「男性1tbl」・・「男性4tbl」、「女性1tbl」・・「女性4tbl」に
書き出し。(上書きです)
絞り込み、絞り込み解除・・、集計、集計・・、書き出しの繰り返し

「データ入力tbl」を主レポート台紙にして全部のtblの「年月」を
リンクさせ年別・月別・上下半期別に報告書的(様式用紙に)
なものを予定していたのですが。

(ここが問題):
常に各4つのグループデータがある訳ではないので、絞り込むデータ
が無いと「履歴」が途中で停止、知らなかった (-_-メ)

対策として、思い付く事
1.集計に支障ないようなダミー行を作る。
 (絞り込ませるデータを作る)
2.グループ毎に「履歴」実行する。など?
 (これは大変だった、「もう二度と・・」)

出来るのであれば、絞り込みデータ無くても「履歴」が走ってくれる
方法ないものでしょうか。

説明不足、不明点すみません。
追:今日は疲れた、これが本当の「クタビレ、モウケ」かな

3470 Re: Ogo 1999/11/25-01:35
記事番号3469へのコメント
>出来るのであれば、絞り込みデータ無くても「履歴」が走ってくれる
>方法ないものでしょうか。

「履歴」で作られるのは一般的な一括処理ファイルです。
直接 kirihist.cmd を任意に書き換え、行挿入してかまいません。
こころゆくまで kirihist.cmd をお書き換え下さい。

一般的には 条件 (#総件数) でトラップをかけて、次の繰り返しに
分岐させます。

3471 Re: 渡邉 1999/11/25-02:05
記事番号3470へのコメント
>「履歴」で作られるのは一般的な一括処理ファイルです。
>直接 kirihist.cmd を任意に書き換え、行挿入してかまいません。
>こころゆくまで kirihist.cmd をお書き換え下さい。
>
>一般的には 条件 (#総件数) でトラップをかけて、次の繰り返しに
>分岐させます。

質問時に書き添えていなかった大事な事。

「履歴」今日初めての体験にて、大変申し訳ございません。

「任意に書き換え、行挿入」方法詳しくお伝え願いません
でしょうか。
申し訳ございませんすみません。
これに頼るしかないもので。

アドバイスのお礼重ねてありがとうございます。

3475 Re: 宮城 1999/11/25-09:19
記事番号3471へのコメント
渡邉さん、こんにちは。察するに次のような履歴ですか。

絞り込み [男女]{"男性1"}
行集計・・・
書き出し・・・
行集計解除
絞り込み解除

以下、これの繰り返し

Ogoさんのコメントは絞り込み結果、レコードが存在したときだけ行集計以下を
実行すればいいというものです。

#総件数>0、.NOT #空ファイル、.NOT #終端行、どれでもいいんですけど
(こういう説明はかえって混乱させるかもしれませんが、事実なもんで。お好
きなのお使い下さい。)を先のを次のようにします。Ogoさんは条件を使ってま
すが、私はケース制御が専らですので・・・。

絞り込み [男女]{"男性1"}
ケース開始
 ケース(.NOT #終端行)
  行集計・・・
  書き出し・・・
  行集計解除
ケース終了
絞り込み解除

ところで、絞り込み条件によって行集計条件が変わるのでしょうか? 
そうでないならば、絞り込みを繰り返す必然性は全くなく、[男女]で並び替えておい
て行集計・書き出しを1回やれば済むんですけど・・・。行集計時、データ行=無効はわかりますよね。

cmdは開く→再定義で編集します。

3488 Re: Ogo 1999/11/25-15:01
記事番号3475へのコメント
渡邉さんの状況を察するに、「一括処理」を触ったことないんじゃないのでは?

「一括処理」は基本的に、桐以外のアプリでは「マクロ」と表現されるものです。
「履歴」とは「キーボードマクロ」の類いです。

「キーボードマクロ」は、記録した時にキーボードから入力した通りを
再現する仕組みですから、当然「判断」とか「条件分岐」という概念が
存在しません(記録時には、人間が自分の頭の中で「判断」とか「条件分岐」を行っている)。

従って、そのような状況判断を必要とする作業には「プログラミング」が必須です
(つまり、「一括処理」を再構築するということ)。

前回述べたように、「履歴」の正体は KIRIHIST.CMD という一括処理ですから、
これを再編集すれば良いのですが、編集(定義)モードで当該
CMD ファイルを開いて、スクリプト編集をするという手順です。

スクリプト編集には、当然「一括処理作成」のノウハウが必要です。
マニュアルや参考書を読みながら修得すべき内容です。

- - - -

ただ、ここの掲示板は優しい人が多いので、自分で関数や書式などを
理解していなくても、書き写すだけで期待通りの結果が得られるスクリプトを
渡邉さんの代わりに書いてくれる人もいることでしょう。

でも、それならば現在の KIRIHIST.CMD を公開してくれないと、返答
のしようがないなぁと私は思います。

後はよろしく。> 宮城さん、幅田さん、悲しげさん。 >> (^^;;
3497 Re:Ogoさん・宮城さん。結果、走った、走った「履歴」 渡邉 1999/11/26-01:48
記事番号3488へのコメント
>渡邉さんの状況を察するに、「一括処理」を触ったことないんじゃない
>のでは?
その通りです、お恥ずかしい。

Ogoさん・宮城さんありがとうございます。

今日も誰もいない会社で今まで居残りし、目的「履歴」
お蔭様で快調に走りました。
ありがとうございます。

最終絞り込み条件
ケース開始
ケース(♯総件数>0、NOT♯空ファイル)
行集計
書き出し
行集計解除
ケース終了
で、OK でした。

理解度45%位いですけど(-_-メ)
真似事

再度説明:
[男]の[A種][B種][C種][D種]を年月別に集計し、
データ行のみを「[男]の[A種]tbl・・[男]の[C種]」
に書き出しする。([女]も同様、8種になる)

データ入力用のtblでメインフォームを作りコマンドボタン1を設け
コマンドボタン1に
[機能-絞り込み比較式:パラ-年][機能-絞り込み比較式:パラ-月]
[機能-絞り込み比較式:パラ-A種]を設定

データ表示用(データ確認)としてサブフォームを[A・・D種]tbl
で作り[年],[月],[A種]をグループかけデータ内容を確認。

確認後各四つのデータを更に[年],[月],[A種]でリンクさせ
コマンドボタン2を設け[機能-レポート:レポート名]
印刷する。
終わり

再度説明(一部改良):
[男]の[A種][B種][C種][D種]の四つを二つにした。
集計条件同じにて(宮城さんヒント)

Ogoさん・宮城さんありがとうございます・ありがとうございました。
追:今日は良く眠れそう、でも明日も早い。

戻る