過去の桐井戸端BBS (桐ver.8)
3189 「#順位」関数の中での変数が使用できない 磯田 1999/11/7-23:47
現在成績管理を桐8で作成しています。早速ですが,#順位([科目名])という関数で
科目名を&科目という変数に入れて処理したいのですが,#順位(&科目)としても
うまくいきません。どなたかご教示いただけないでしょうか。

3194 「#順位」関数が利用できる場所 佐田 守弘 1999/11/8-00:35
記事番号3189へのコメント
磯田さん

●項目名の変数での指定
これは、磯田さんの方法で可能なはずです。詳しくはオンラインヘルプの「一括処理の書き方」に
記載されています。

●「#順位」関数が利用できる場所
問題はこちらにありそうです。この関数は置換専用の関数ですから、一括処理の中で代入
コマンドの代入式の中では使えません。置換の計算式、および項目計算式の中だけで利用
できます。
ご質問の内容を伺いますと、項目名を変数で指定しなければならない事から、項目計算式
や置換ではなくて、代入コマンドの中で使っている様に見受けるのですがいかがですか。

一括処理の中の代入コマンドで同様の事を行うには、「#直前値」関数を使った計算式を
考える必要があります。

佐田守弘(KS-00119)

3197 置換コマンドなのですが・・・ 磯田 1999/11/8-07:26
記事番号3194へのコメント
佐田 守弘さんは No.3194「「#順位」関数が利用できる場所」で書きました。
>●「#順位」関数が利用できる場所
>問題はこちらにありそうです。この関数は置換専用の関数ですから、一括処理の中で代入
>コマンドの代入式の中では使えません。置換の計算式、および項目計算式の中だけで利用
>できます。
早速のレスありがとうございます。置換コマンドの利用場所場問題とのことですが,次のような
形で使用しています。
 &科目順位="英語順位"
 &科目="英語得点" 
 置換 &科目順位 = #順位(&科目)
しかし、実行すると
 <エラー>項目名を指定してください。<詳細> #順位(&科目)
と出てしまいます。やはり#順位 関数の中では変数は使えないのでしょうか?

3200 「置換」は表の項目値が対象 悲しげ 1999/11/8-12:20
記事番号3197へのコメント
どもっ、磯田さん、横から割り込みですが、

> &科目順位="英語順位"
> &科目="英語得点" 
> 置換 &科目順位 = #順位(&科目)

え〜、「置換」と云うのは、表の項目値を全行に渡って置換するもの
です。(^^;)
おやりになっていることを想像するに、次のような感じで試してみて
はいかがでしょう。
([科目]と[科目順位]なる項目があるとして)

絞り込み [科目]{"英語"}
置換 [科目順位]=#順位([年],[組],[なんとか])

3202 Re:置換コマンドなのですが・・・ 幅田 1999/11/8-14:58
記事番号3197へのコメント
> &科目順位="英語順位"
> &科目="英語得点" 
> 置換 &科目順位 = #順位(&科目)
>しかし、実行すると
> <エラー>項目名を指定してください。<詳細> #順位(&科目)
>と出てしまいます。やはり#順位 関数の中では変数は使えないのでしょうか?

おっしゃるとおり、「#順位」関数の中では変数は使えないようですね。
必ず項目名を指定する必要がありそうです。
では、このような場合は「コマンド」コマンドを使えば可能です。

上記の例でいくと
&科目順位="[英語順位]"
&科目="[英語得点]"
コマンド ”置換 ”+&科目順位+”=”+”#順位(”+&科目+”)”

「コマンド」コマンドは文字列式で指定した文字列を一括処理コマンドとして実行します。


3204 補足 幅田 1999/11/8-15:17
記事番号3202へのコメント
もちろん
&科目順位="英語順位"
&科目="英語得点"
コマンド ”置換 [”+&科目順位+”]=”+”#順位([”+&科目+”])”

でもいいですね。

3211 うまくいきました 磯田 1999/11/8-21:45
記事番号3202へのコメント
うまくいきました。"コマンド"コマンドというのは何に使うのだろうと常々疑問に思っていました
が,こんなときに役に立つんですね。またひとつ勉強になりました。ありがとうございます。

戻る