過去の桐井戸端BBS (桐ver.8)
15736 日時型変数での範囲内の絞り込みをするコマンドの書き方について ケント 2002/04/17-12:21
みなさん こんにちは。
タイトルの件で質問です。

一覧表フォームのヘッダー部に@入金予定1,@入金予定2のテキストボックスを設け、
ソースをそれぞれ&入金予定1,&入金予定2(日時型)にして有ります。

イメージとしては
&入金予定1≦[入金予定日]≦&入金予定2
としたいのです。

ところが

名札 メイン
変数宣言 局所,日時{&入金予定1,&入金予定2}

手続き定義開始 入金予定2::ソース値更新()
解除 1
代入 &STR="d"""+#日時文字列(&入金予定1,0,1,1)+"""≦[入金予定日]≦"d"""+#日時文字列(&入金予定2,0,1,1)+"""
絞り込み [入金予定日]_&STR
手続き定義終了

では

KU1090:コマンドの形式に誤りがあります
"d"""+#日時文字列(&入金予定1,0,1,1)+"""≦

と叱られてしまいます。
色々やってみましたがうまくいきません。
とりあえず分割すると

名札 メイン
変数宣言 局所,日時{&入金予定1,&入金予定2}
変数宣言 局所,文字列{&STR1,&STR2}

手続き定義開始 テキスト_11::ソース値更新()
解除 1
代入 &STR1="d"""+#日時文字列(&入金予定1,0,1,1)+"""≦[入金予定日]≦
代入 &STR2="d"""+#日時文字列(&入金予定2,0,1,1)+"""
代入 &STR=&STR1+&STR2
絞り込み [入金予定日]_&STR
手続き定義終了

正常に動作しますが、代入文3行を1行にする書き方は無いのでしょうか。
よろしくお願いいたします。
15738 Re:日時型変数での範囲内絞り込みについて うにん 2002/04/17-13:15
記事番号15736へのコメント
> 代入 &STR="d"""+#日時文字列(&入金予定1,0,1,1)+"""≦[入金予定日]
> ≦"d"""+#日時文字列(&入金予定2,0,1,1)+"""

>では
>
> KU1090:コマンドの形式に誤りがあります
>"d"""+#日時文字列(&入金予定1,0,1,1)+"""≦
>
>と叱られてしまいます。

"の数があってません。2行目の≦の次の"を一番後ろに移動してみたら?

> 代入 &STR1="d"""+#日時文字列(&入金予定1,0,1,1)+"""≦[入金予定日]≦
> 代入 &STR2="d"""+#日時文字列(&入金予定2,0,1,1)+"""

これ両方とも最後に"が足りないと思いますが。
"は、文字列の最初と最後に1つずつ、途中に"自体を入れたいときに2つ一組で入れるので、
必ず偶数個になるはずです。

絞り込みがどうこうというより、文字列定数の書き方の問題のようですね。

15742 Re:日時型変数での範囲内絞り込みについて ケント 2002/04/17-15:02
記事番号15738へのコメント
うにんさん こんにちは
>> 代入 &STR="d"""+#日時文字列(&入金予定1,0,1,1)+"""≦[入金予定日]
>> ≦"d"""+#日時文字列(&入金予定2,0,1,1)+"""
>
>>では
>>
>> KU1090:コマンドの形式に誤りがあります
>>"d"""+#日時文字列(&入金予定1,0,1,1)+"""≦
>>
>>と叱られてしまいます。
>
>"の数があってません。2行目の≦の次の"を一番後ろに移動してみたら?
>

代入 &STR="d"""+#日時文字列(&入金予定1,0,1,1)+"""≦[入金予定日]≦d"""+#日時文字列(&入金予定2,0,1,1)+""""

上記で出来ました。ありがとうございます。
どの"がどう言う意味なのか、よくわからないで使っています。(^_^;)
どの"と"がセットなんだろうか。

>> 代入 &STR1="d"""+#日時文字列(&入金予定1,0,1,1)+"""≦[入金予定日]≦
>> 代入 &STR2="d"""+#日時文字列(&入金予定2,0,1,1)+"""
>
>これ両方とも最後に"が足りないと思いますが。
>"は、文字列の最初と最後に1つずつ、途中に"自体を入れたいときに2つ一組で入れるので、
>必ず偶数個になるはずです。
これはこのままでも叱られることなく無事に動作しています。

15743 Re:日時型変数での範囲内絞り込みについて ケント 2002/04/17-15:52
記事番号15742へのコメント
何度も済みません。気づいたことがあるので。

>>> 代入 &STR1="d"""+#日時文字列(&入金予定1,0,1,1)+"""≦[入金予定日]≦
>>> 代入 &STR2="d"""+#日時文字列(&入金予定2,0,1,1)+"""
>>
>>これ両方とも最後に"が足りないと思いますが。
>>"は、文字列の最初と最後に1つずつ、途中に"自体を入れたいときに2つ一組で入れるので、
>>必ず偶数個になるはずです。
>これはこのままでも叱られることなく無事に動作しています。
>
そう言えば、会話処理で比較式を入力するとき
"文字列
と、最後の"をつけなくても受け付けていました。その流れで上記の代入文は許可されていたのかな。
15744 Re:日時型変数での範囲内絞り込みについて うにん 2002/04/17-16:01
記事番号15742へのコメント
>代入 &STR="d"""+#日時文字列(&入金予定1,0,1,1)+"""≦[入金予定日]≦d"""+#日時文字列(&入金予定2,0,1,1)+""""
>
>上記で出来ました。ありがとうございます。
>どの"がどう言う意味なのか、よくわからないで使っています。(^_^;)

わからないで書けるのが不思議ですが(^^;; 上の式では+が4つあって、つまり5つの文字列を連結してます。
最初の"d"""というのはd"という文字列定数、最後の""""は"という文字列定数ですね。
桐のヘルプの「式の書き方」「文字列の計算」に解説があります。

「式の中で文字列(定数)を指定するには、文字列の前後を二重引用符(”)でくくります。」
ところが、

>>> 代入 &STR1="d"""+#日時文字列(&入金予定1,0,1,1)+"""≦[入金予定日]≦
>>> 代入 &STR2="d"""+#日時文字列(&入金予定2,0,1,1)+"""
>>
>>これ両方とも最後に"が足りないと思いますが。
>>"は、文字列の最初と最後に1つずつ、途中に"自体を入れたいときに2つ一組で入れるので、
>>必ず偶数個になるはずです。
>これはこのままでも叱られることなく無事に動作しています。

なんと、一括処理コマンドでは、最後の"を省略しても問題ないという恐るべき仕様(?)のようです。

代入 &STR="123

でエラーにならないのね。。。気持ち悪いので普通は
代入 &STR="123"
と書きますが。。。

ななんと、項目計算式でもエラーになりませんでした。
[項目]+"あ
そんなら閉じカッコも省略できそうなものですが、だめでした(^^)
[金額]*(5-4

15752 Re:日時型変数での範囲内絞り込みについて ケント 2002/04/18-09:15
記事番号15744へのコメント
うにんさん ありがとうございます。
>
>わからないで書けるのが不思議ですが(^^;;
>
そう!不思議です。桐のおかげで助かっています。
今回の日時値による絞り込みは初めての体験で、文字列変数に"を入れるというのも
初めてでした。"""(゜o゜)"""

>ななんと、項目計算式でもエラーになりませんでした。
>[項目]+"あ

本当ですね!!
勉強になりました。
でもやっぱり正規の書き方で書かないと、メンテとかで困るんでしょうね。
私みたいに、括弧がバランスしていなくても動作するコマンドを見て悩む人が何人かはいると思います。

戻る