過去の桐井戸端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さん・宮城さんありがとうございます・ありがとうございました。 追:今日は良く眠れそう、でも明日も早い。 |