過去の桐井戸端BBS (桐ver.8)
11078 入力された項目の件数を得る方法が分かりません。 NANA 2001/04/28-13:46
入力された項目の件数を得る方法が分かりません。

いつもこのサイトは拝見させていただいておりますが、最近桐からちょっと遠ざかっていましたので、
久しぶりの書き込みになります。

作成しようとしている物は顧客台帳のレポートです。
このレポートは、フォームの呼び出しによって以下の物を入力します。
&開始日と&終了日によって日付の絞り込みの値をとります。
&絞込条件1から&絞込条件5までの5項目(項目名)とその絞り込み値&絞込値1から&絞込値5(データ)
そして&並替条件1から&並替条件5の5項目(項目名)を入力します。

たとえば、
&絞込条件1=担当者ID
&絞込値1=2001(担当者IDの値)
&並替条件1=商品ID
とすると、
[日付]と[担当者ID]2001で絞り込みをして[商品ID]で並べ替えをした物を作成したいという事になります。

なので、&絞込条件1から&絞込条件5まで、&絞込値1から&絞込値5まで
&並替条件1から&並替条件5までが必ずしも値が有る訳ではありません。

この、入力されたかされていないかを判別して、その件数&回数を求め、&回数の値によって違う絞り込み条件を
以下の様にケースで実行させたいと考えています。

      ケース開始
         ケース (&回数=1)
             検索条件登録 条件名="顧客台帳印刷順1",{&絞込条件1_&比較式1}
             並べ替え条件登録 条件名="顧客台帳印刷順2",{&並替条件1,[日付]}
         ケース (&回数=2)
             検索条件登録 条件名="顧客台帳印刷順1",{&絞込条件1_&比較式1,&絞込条件2_&比較式2}
             並べ替え条件登録 条件名="顧客台帳印刷順2",{&並替条件1,&並替条件2,[日付]}
         ケース (&回数=3)
             検索条件登録 条件名="顧客台帳印刷順1",{&絞込条件1_&比較式1,&絞込条件2_&比較式2,&絞込条件3_&比較式3}
             並べ替え条件登録 条件名="顧客台帳印刷順2",{&並替条件1,&並替条件2,&並替条件3,[日付]}
         ケース (&回数=4)
             検索条件登録 条件名="顧客台帳印刷順1",{&絞込条件1_&比較式1,&絞込条件2_&比較式2,&絞込条件3_&比較式3,&絞込条件4_&比較式4}
             並べ替え条件登録 条件名="顧客台帳印刷順2",{&並替条件1,&並替条件2,&並替条件3,&並替条件4,[日付]}
         ケース (&回数=5)
             検索条件登録 条件名="顧客台帳印刷順1",{&絞込条件1_&比較式1,&絞込条件2_&比較式2,&絞込条件3_&比較式3,&絞込条件4_&比較式4,&絞込条件5_&比較式5}
             並べ替え条件登録 条件名="顧客台帳印刷順2",{&並替条件1,&並替条件2,&並替条件3,&並替条件4,&並替条件5,[日付]}
      ケース終了
11079 続きです NANA 2001/04/28-13:47
記事番号11078へのコメント
しかしこの&回数の値がどうしてもとれません。
       ケース開始
          ケース (&絞込条件1=#未定義)
              &総件数=1
          ケース (&絞込条件1<>#未定義)
              &回数=1
          ケース (&絞込条件1 .and&絞込条件2=#未定義)
              &総件数=&総件数+1
          ケース (&絞込条件1 .and&絞込条件2<>#未定義)
              &回数=&回数+1
          ケース (&絞込条件1 .and&絞込条件2 .and&絞込条件3=#未定義)
              &総件数=&総件数+2
          ケース (&絞込条件1 .and&絞込条件2 .and&絞込条件3<>#未定義)
              &回数=&回数+2
          ケース (&絞込条件1 .and&絞込条件2 .and&絞込条件3 .and&絞込条件4=#未定義)
              &総件数=&総件数+3
          ケース (&絞込条件1 .and&絞込条件2 .and&絞込条件3 .and&絞込条件4<>#未定義)
              &回数=&回数+3
          ケース (&絞込条件1 .and&絞込条件2 .and&絞込条件3 .and&絞込条件4 .and&絞込条件5=#未定義)
              &総件数=&総件数+4
          ケース (&絞込条件1 .and&絞込条件2 .and&絞込条件3 .and&絞込条件4 .and&絞込条件5<>#未定義)
              &回数=&回数+4
    ケース終了
の様な方法もとってみましたが、いつも&回数は1となります。

&回数に入力した項目数をセットする良い方法がありましたら、どうか知恵をかしていただきたいと思います。
よろしくお願い致します<(_ _)>
11085 Re:入力された項目の件数を得る方法が分かりません。 2001/04/30-12:03
記事番号11078へのコメント
今日は、文といいます。
私もあまり詳しくありませんが、表の状態を調べる「#絞り込み状態」を使ってはどうでしょうか、
絞り込みと並べ替えの深さが取得出来ます。
11086 Re:入力された項目の件数を得る方法が分かりません。 toshi-chan 2001/04/30-15:49
記事番号11078へのコメント
NANA さん、こんにちは。
ずいぶん複雑な処理のように感じます。そう思うのは私だけかな。
それはともかくとして。

1.私の知恵
数値型の変数  &判定1、&判定2、&判定3、&判定4、&判定5  を使用します。
各々には、&絞込条件1〜&絞込条件5に値が代入されていれば1を、未定義ならば0を代入します。
      &回数=&判定1+&判定2+&判定3+&判定4+&判定5
とすれば、入力した項目数になると思います。

2.ケースコマンド
記事番号11079のケース処理で、&回数の値が必ず1になってしまうという件です。
ケースコマンドの働きは、
「1番目の条件式から順番に評価し、成立する条件式があればそのコマンド群を実行し、それ以降の条件式は評価しない」
となります。おそらく &総件数 には目的どおりの値が取得できているのではないでしょうか。
その段階でケース範囲から抜け出してしまうので、 &回数 に値を代入する作業が行われていないのだと思います。 
11090 Re:続きです 尾形 2001/04/30-21:56
記事番号11079へのコメント
NANAさん、こんばんは
検索や並べ替えをするのにわざわざ条件登録する必要はないです。
まぁ、条件登録しても全然問題は無いのですが (^^;
つまり
>&絞込条件1=担当者ID
>&絞込値1=2001(担当者IDの値)
>&並替条件1=商品ID
の場合
条件 (&絞込条件1<>#未定義) 絞り込み &絞込条件1{=&絞込値1}
条件 (&並替条件1<>#未定義) 並べ替え {&並替条件1 昇順}
のように記述できます。項目名も変数のままでOKです
あとはこれを5行書けばいいんです。

条件 (&絞込条件1<>"") 絞り込み &絞込条件1{=&絞込値1}
条件 (&並替条件1<>"") 並べ替え {&並替条件1 昇順}

条件 (&絞込条件2<>"") 絞り込み &絞込条件2{=&絞込値2}
条件 (&並替条件1<>"" .AND &並替条件2<>"") 並べ替え {&並替条件1 昇順,&並替条件2 昇順}

条件 (&絞込条件3<>"") 絞り込み &絞込条件3{=&絞込値3}
条件 (&並替条件1<>"" .AND &並替条件2<>"".AND &並替条件3<>"") 並べ替え {&並替条件1 昇順,&並替条件2 昇順,&並替条件3 昇順}
・・・・以下5まで

ただ、私ならば、呼び出し元の一覧表フォームのヘッダに
機能名が、絞り込み_条件名
機能名が、並べ替え_条件名
のボタンを2個作成します。

ではでは
11093 Re:入力された項目の件数を得る方法が分かりません。 佐田 守弘 2001/05/01-02:25
記事番号11078へのコメント
NANAさん
質問文章を何回か読んでみましたが、目的とするところが今一つ分かりません。
何となく分かった所は、
@5つまでの絞り込み条件があり、これは比較式で記述できる絞り込み条件らしい。
A絞り込み後の並べ替え条件が5つまである。
で、いずれかの絞り込み条件で絞りこんだ後、いずれかの並べ替え条件で並べ替えてからレポート印刷を行う。
です。そして、分からないのは、タイトルの「入力された件数」とは何を意味しているかです。
本文中にも書かれている
>この、入力されたかされていないかを判別して、
>その件数&回数を求め、
の部分です。これは一体何をしようとしているのでしょうか。
絞りこんだ後、別の条件で更に絞りこもうとしているとか、そのあたりをもう少しお知らせ下さい。

なお、単に絞りこんでから並べ替えを行い、その状態で印刷したいのであれば、書かれている様な複雑な処理は必要ないと思うのですが。

私でしたら尾形さんと似た様な方法ですが次の様に行います。
フォームのどこかに&絞り込み条件と&並べ替え条件の2つの変数を入力するテキストボックスを作っておきます。
どちらのテキストボックスも値が決まっているようなので、入力支援ボタンを作り、リスト入力します。
あるいは、コンボボックスないしリストボックスで作る事も可能です。
そして、絞りこんだ条件名ないしは比較式で絞り込みを行い、次いで並べ替え条件で並べ替えを行います。
絞り込みの前に解除コマンドを入れてなければ、次々と絞りこめます。毎回新しい条件で絞り込み直すのであれば、
一度解除を行ってから絞り込み直します。
いずれにしても、書かれている様な複雑なコマンドは必要ないと思いますが。

佐田守弘(KS-00119)
11104 Re:入力された項目の件数を得る方法が分かりません。 NANA 2001/05/01-14:54
記事番号11093へのコメント
佐田さん、レスをありがとうございます。

>「入力された件数」
というのは、絞り込みする項目数を
いくつ入力した、その件数が知りたかったのです。

文章力が無く、自分で作成した物をうまく言葉で表現出来ず、
ここでレスを付けてくださる方々には、
いつも理解しづらい文章を読んでくださって、
なおかつレスを付けて下さる事に、凄く感謝しています。

これからももっと桐を勉強していきたいのでよろしくお願い致します<(_ _)>

11105 皆さんありがとうございました<(_ _)> NANA 2001/05/01-14:56
記事番号11078へのコメント
レスが遅くなってすみません<(_ _)>
会社がお休みだった物で^^;ゞ

皆さん沢山のお答えをありがとうございました<(_ _)>
今回は配列変数を使って処理する事になりました。

毎回助けてくださる方々に本当に感謝致します<(_ _)>
これからもよろしくお願い致します。

戻る