過去の桐井戸端BBS (桐ver.8)
18702 行操作→絞り込み→条件名で条件式に変数を使った場合の絞り込み結果が思い通りにならない 冬季限定のkaz 2003/01/24-16:21
行操作>絞り込み>条件名 で条件式に変数を使った場合の絞り込み結果

あらかじめ変数値を代入しておく
&摘要="電気"

条件1[摘要]に設定する条件式
   &摘要 ・・・→ "電気" のみを絞り込む("電気"と等しいものということ)
   &摘要+"*" ・・・→ (KU0338 条件を満たすレコードはありません)
(要するに、条件式はエラーにはならないが、式の結果である"電気*"というデータ値なら絞り込むらしい)
   &摘要* ・・・→ "電気○○" (先頭一致で絞り込む)
   *&摘要 ・・・→ "○○電気" (末尾一致で絞り込む)
   *&摘要* ・・・→ "電気" を含むすべてを絞り込む (*&摘要* は =*&摘要* 又は []=*&摘要*と書いても結果は同じみたい)
  <>*&摘要* ・・・→"電気"を含まないすべてを絞り込む
   <>&摘要  ・・・→"電気"と等しくないすべてを絞り込む

なぜ、これを書いたかといいますと、一括処理で
変数に代入した値を含むレコードを絞りたかったからです。
結果として履歴をみたらこのような処理文でよかったんですね。

  検索条件登録 "検索条件99摘要で絞り込み",{[摘要]{*&摘要*}}  

それと、絞り込み>比較式 で 比較式に変数を指定すると、期待通りの結果が出なかったからです。
&摘要="電気"

  比較式    部分一致検索
   &摘要    しない・・・→  "電気" を絞り込む  #変数(摘要)でも同じ
   &摘要    含む・・・→   "&摘要" そのものを絞り込む
   &摘要    含まない・・・→ "&摘要" 以外のものを絞り込む
   &摘要    先頭一致・・・→ "&摘要" そのものを絞り込む
   &摘要    末尾一致・・・→ "&摘要" そのものを絞り込む

この中で使えそうなのは 部分一致検索をしない場合のみですね。
そこで
  比較式    部分一致検索
  *&摘要*   しない・・・ "電気" を含むすべてを絞り込む(やっと希望の結果が出る。涙。)

履歴を見ると  絞り込み [摘要]{*&摘要*},文字比較方法=自動

となっており、 オプション(,部分一致検索=【しない|含む|含まない|先頭一致|末尾一致】)部分はなにも定義していないんですよね。
変数の場合には 部分一致検索=しない が桐の常識なんでしょうか(?)
質問にはなってませんが、ここまで理解するのにたっぷり2日以上かかったような気がします。
このような理解でいいのかもちょっと不安ではありますけど・・・
絞り込みも満足にできないなんて(桐ではなくて、私のレベル(?)が低すぎるんでしょうね)
いつまでたっても桐の初心者からぬけだせないみたいですね。まったく。

ps,冬だけちょっと書込みしたいkazでした。 ■2003-01-24(金)■<v8sp6>

18715 Re:行操作>絞り込み>条件名 で条件式に変数を使った場合の絞り込み結果 うにん 2003/01/24-23:58
記事番号18702へのコメント
>変数の場合には 部分一致検索=しない が桐の常識なんでしょうか(?)

変数を使うときは、「_&変数名」の形式を使います。
詳しくは一括処理のヘルプを見てください。

18741 Re:答えは正解だけど kaz 2003/01/27-18:14
記事番号18715へのコメント

>変数を使うときは、「_&変数名」の形式を使います。
>詳しくは一括処理のヘルプを見てください。

うにんさん、
お忙しいところ、くだらない質問につきあっていただきありがとうございます。

マニュアルによる例題として確かに載っていました。(もちろん正規ユーザーですから(--))
&STR="*"""+#部分列([氏名],2)+"""*"
 絞り込み [氏名]_&STR

これを応用して
&STR="*""" + &摘要 + """*"
 絞り込み [摘要]_&STR

● &STR の中身・・・  *"電気"*  ●

確かにマニュアルどおりに、絞り込みできます。

が、この """ の意味がわかりません。
" と "" に分けるべきか。それとも分けないべきなのか
ピーマン頭の私にはわかりません・・・
いろいろ代入した結果は以下のとおりでした。

分割できそうなところで分けて、代入してみました。
()内は私の個人的な意見です。

&STR="" + &摘要 + ""   ・・・  電気  と代入される
&STR=" + &摘要 + "    ・・・  + &摘要 +  (これは納得できる)
&STR="*""         ・・・  *""     (なんでこうなるの?) 
&STR="*"         ・・・   *      (これは納得できる)
&STR="*"""        ・・・  *"     (これも納得できない)
&STR="""*"        ・・・  "*     (これも納得できない)

いろいろつまらない代入をしてみて以下の正解(おそらく)に至りました。

"*"""   + &摘要 +   """*" 
桐の中ではこのように3個をつないで文字式を作ってるみたいですね。

"*"""  この意味だけは依然として理解できませんけど・・・涙
↑つまらない疑問ですが、この文字列を代入すると、
なぜ *" となるのでしょうか。
どなたかご教示願えませんでしょうか。 kaz■2003-01-27(月)■<v8sp6>

18748 Re:答えは正解だけど うにん 2003/01/27-21:23
記事番号18741へのコメント
>"*"""   + &摘要 +   """*" 
>桐の中ではこのように3個をつないで文字式を作ってるみたいですね。
>
>"*"""  この意味だけは依然として理解できませんけど・・・涙
>↑つまらない疑問ですが、この文字列を代入すると、
>なぜ *" となるのでしょうか。

単純な話で、「文字列定数の中に"を入れたいときは、""と2つ並べて書く」という決まりになっているのです。
最初と最後の"が、文字列定数を囲んでいる"です。
中の2つは文字列定数の中の"です。2つで1文字になります。

戻る