過去の桐井戸端BBS (桐ver.7)
1559 絞込みが出来ないのですが・・・ 渡辺 1999/3/15-01:35
初めまして。いつも拝見させていただき大変参考にさせていただいております。
現在、Windows98上でVer7を使用しております。

現在一括処理で絞込みがうまく出来なくて困っています。
たとえば"PC-9821でのプログラミング入門"というデータを変数&PCに代入して絞込みをするとき、
絞込み [書名]_&PC
とすると
KD1617:許されていない演算子とデータ型の組合わせがありますPC-←
とエラーメッセージが表示されてしまいます。
変数をダブルコーテーションで括れば良いと思い、
&PC = #連結(""", &PC, """)
と変数を変換してから実行すると、どうやら&PCの値が、""",&PC,""" となっているようです。
いったいどのようにすれば、演算子記号やスペースが含まれた変数を絞り込むことができる
のでしょうか?
どなたかご教示下さいますようお願い申し上げます。
1561 Re: 入交 1999/3/15-08:33
記事番号1559へのコメント
こんにちは 入交です

ヘルプでこんなのあったので
絞り込み 【表|フォーム|会話】,<項目名>【{<比較式>, … }】,部分一致検索=【しない|含む|含まない|先頭一致|末尾一致】,文字比較方法=【自動|文字符号|辞書順|拡張辞書順】,終了状態=<変数名>

気になるところは 部分一致検索です。
単なるテーブルへ項目Dだったかななんでもいいんですけど文字列の項です
「PC-9821でのプログラミング入門」入力し、同じ言葉で絞込みを使用としたらだめでした
このとき部分一致はしないでした 先頭にダブルコーテーションつければできましたけど

ダブルコーテーションをつけなくていい方法
部分一致を含むにすればオッケーですよ
1563 Re: 宮城 1999/3/15-10:48
記事番号1561へのコメント
渡辺さん、入交さん、こんにちは。

> 絞込み [書名]_&PC

の代わりに

  絞り込み [書名]{&PC}

でいいと思うのですが・・・。_&PC は「その変数の値の文字列を比較式とみなす」そうです。
なにがどう違うのか?ですが、{&PC}だと絞り込みできています。
1580 Re: 渡辺 1999/3/16-23:51
記事番号1563へのコメント
早々の御返事有難う御座います。お二人のご指摘のように

  絞込み [書名]{&PC}

で実行した所、

 KD1593:未定義の変数名があります
  &書名

といったエラーメッセージが出ました。
私のプログラムで問題の絞込みの部分はメインプログラムから呼び出されたサブルーチンの更に
サブルーチンにあります。
メインプログラムをはずして実行したところ(絞込みの部分はサブルーチンになります)、
正常に動作しました。
プログラムは以下のような形をしています。どうやら変数の宣言の仕方が間違っていたらしく、
B.cmdでの宣言を

  固有,文字列{&PC}

としたら、下記の形でも正常に動作することが確認できました。
変数宣言で種別を省略すると自動変数になるためサブルーチンからは参照できなくなるのですね。
見当違いの質問をして申し訳ありませんでした。


**** A.cmd ******
変数宣言 固有,文字列{&メニュー番号} \
       整数{&Handle} \
    ・
    ・
  条件 (&メニュー番号 = "b") 手続き実行 b()
    ・
    ・
終了
**** End of File ****

**** B.cmd ****
手続き定義開始 b()
  変数宣言 文字列{&PC}  /* 宣言の仕方が間違っている */
   ・
  手続き実行 c(&PC)
   ・
   ・
手続き終了

手続き定義開始 c(文字列 &書名)
   ・
   ・
  絞込み [書名]{&PC}   /* 問題の部分 */
   ・
   ・
手続き定義終了
**** End of File ****

戻る