過去の桐井戸端BBS (桐ver.8)
30291 一括処理の実行中、その都度、任意の範囲を指定して絞り込むということをしたい kkj 2005/06/21-23:10
お世話になります。kkjと申します。桐V8の一括処理を作りたいのですが、
例えば、
履歴登録中に、
「絞り込み」→「条件名」→検索条件を入力→「実行」と操作をして
履歴登録を終了した後、
「履歴登録」→登録した履歴を選択→「修正」と操作して
書き出された内容を見てみると
以下のようになりました。

検索条件登録 "検索条件01",{[年]{17},[月]{4}}
絞り込み 条件名="検索条件01"

つまり、この表には、[年]と[月]の項目があり、平成17年4月にあたるレコードで絞り込んだわけですが、
これを、一括処理の途中でその都度任意の値を入力して
絞り込む範囲を指定して絞り込みを実行する一括処理をつくりたいのですが、できるのでしょうか。
やり方があれば教えて下さい。

履歴だと平成17年4月しか絞り込めず大変不便です。
一括処理のファイルをきちんと書けば、おそらく16年12月や17年1月など、
状況に応じてその都度任意に絞り込みができると思っているのですが、いかがでしょうか。
ご指導の程お願い申し上げます。


30292 Re:一括処理の実行中、その都度、任意の範囲を指定して絞り込む方法があれば教えて下さい 宮城 2005/06/22-12:31
記事番号30291へのコメント
kkjさん、こんにちは。二つのkeyによる絞り込み KEVです。

手続き定義開始 bkey12による検索click()
 メソッド呼び出し @フォーム.更新モード設定(0)
 ケース開始
  ケース(&key1<="" .OR &key2<="")
   &文字列ダミー="key入力が不十分です!"
  メッセージボックス "あいうえお"¥
            ,&文字列ダミー¥
            ,アイコン=!¥
            ,ボタン指定=1¥
            ,&応答
   分岐 key12による検索パス
 ケース終了
 検索条件登録 条件名="key12による検索"¥
       ,{[key1]{&key1}¥
        ,[key2]{&key2}¥
        }
 絞り込み 条件名="key12による検索"
 ケース開始
  ケース(#総件数=0)
   &文字列ダミー="ヒットしませんでした。"
  メッセージボックス "あいうえお"¥
            ,&文字列ダミー¥
            ,アイコン=!¥
            ,ボタン指定=1¥
            ,&応答
   絞り込み解除 1
   代入 &key1=""¥
     ,&key2=""
 ケース終了
 メソッド呼び出し @b一段解除.フォーカス設定()
 名札 key12による検索パス
手続き定義終了

フォームには &key1、&key2をソースとするテキスト領域二つ、
機能名1「手続き実行」
機能パラメータリスト「bkey12による検索click」
としたコマンドボタン一つ配置します。

必要な変数は宣言しておいてください。

「メソッド呼び出し @b一段解除.フォーカス設定()」は
次にフォーカスがあったら自然というか便利というかそういう
オブジェクトのつもりです。なくてもかまいません。

30293 Re:一括処理の実行中、その都度、任意の範囲を指定して絞り込む方法があれば教えて下さい アックン 2005/06/22-14:36
記事番号30291へのコメント
kkjさん、こんにちは。
フォームは使いませんか?
もし表と一括処理だけの組み合わせでしたら、
メニューコマンドを使ってみてはどうでしょう。
メニューの中から年月を選んで、絞り込みます。

 表形式編集
 &STR = "2005-01,2005-02,2005-03,2005-04,2005-05,2005-06"
 メニュー3 &時,1, (10,50),"表題文字列",\
       &STR,"ガイドメッセージ",行数=12, 桁数=14
 if( &時 )
   &分 = #num(#sstr(#対応文字列(&STR,&時),1,4)) ,\
   &秒 = #num(#sstr(#対応文字列(&STR,&時),6,7))
   検索条件登録 "",{[年]&分,[月]&秒}
   絞り込み 条件名=""
 end
 表形式編集

上の例では、表を閉じようとするとメニューが現れます。

アックン(=^・^=)
30294 Re:一括処理の実行中、その都度、任意の範囲を指定して絞り込む方法があれば教えて下さい 宮城 2005/06/22-14:43
記事番号30292へのコメント
その他最低限一連の kevとしてこんなものかと。

手続き定義開始 tkey1::ソース値更新()
 メソッド呼び出し @tkey2.フォーカス設定()
手続き定義終了

手続き定義開始 tkey2::ソース値更新()
 メソッド呼び出し @bkey12による検索.フォーカス設定()
手続き定義終了

タブ順によらず、key1入力が終わるとkey2へ、key2入力が
終わると、コマンドボタンにフォーカスを移します。
30297 Re:一括処理の実行中、その都度、任意の範囲を指定して絞り込む方法があれば教えて下さい 尾形 2005/06/22-17:28
記事番号30291へのコメント
どうも、こんにちは

>検索条件登録 "検索条件01",{[年]{17},[月]{4}}
この部分を
検索条件登録 "検索条件01",{[年]{=&元号年},[月]{=&月}}

このように書き換えてください
ツールの変数管理のそれぞれの値で絞り込みできます
変数値に希望の値をセットして、履歴を実行したら
どうでしょうか?


30301 Re:一括処理の実行中、その都度、任意の範囲を指定して絞り込む方法があれば教えて下さい kkj 2005/06/22-23:49
記事番号30297へのコメント
この度は、早速にもご教示くださり誠に有難うございます。
まず、「変数」の意味がだんだんと分かって来ました。
マニュアルには「値をコンピュータのメモリに記憶する」とありますが、
何のために記憶するのか分からず、「メモリに記憶した値を参照できる」こと
の意味が分かっていませんでした。「変数」そのものの意味が理解できてなかったということですが、やっと分かってきました。
つまり中学の数学より使ってきたX、Yと同じ意味なんですよね?
式の中でX,Yと書いておいて、実際の計算にあたってはその都度メモリに数値を記憶させ、
その数値が参照されて回答が出ると。

意味が理解できてくるとおもしろくなってきました。
いろいろと応用できる可能性が広がったのです。
この機会にさらに勉強したいと思います。

宮城さんからはメソッドやケースについての勉強になりました。しかし
私にはまだレベルが高度なので勉強します。

アックンさんからはメニュー3を教えて頂きました。ありがとうございます。

尾形さんからは17や4の数字を変数に変えるだけで絞込みが可能なことを教えてもらいました。
一番やさしいやり方で分かりやすかったです。
今の私の技術ではこのやり方から入っていった方がよさそうです。

今後ともお世話になりますが宜しくお願いいたします。ありがとうございました。

kkj

戻る