過去の桐井戸端BBS (桐ver.9)
24265 配列型変数を集計に使用したら「配列型変数の添字が定義の範囲をこえました」というエラーが出た 沖縄のあっきー 2004/01/13-18:16
みなさまこんにちは。沖縄のあっきーと申します。
配列型変数を集計に使用したら次のようなエラーメッセージが表示されました。

KD1599:配列型変数の添字が定義の範囲をこえました

配列型変数の添字とはいったい何でしょうか?
例えばもしかして、

&売上[10]

と定義しているのにもかかわらず

&売上[11]

とか10を超えた値を指定してしまったからかな、
と思って10以下の値を指定しても出てしまいます。

これから前に進めなく困っております。
どなたか教えて下さい。
よろしくお願いします。
24266 Re:集計したらエラーが表示された 今村 誠 2004/01/13-20:53
記事番号24265へのコメント
沖縄のあっきーさんこんにちは
>配列型変数の添字とはいったい何でしょうか?
>例えばもしかして、
>
>&売上[10]

変数宣言をイベントや一括処理でしているのであれば
宣言のすぐあと
或いは、集計の前行で

確認 #cond(#配列要素数("売上")<0,\
"変数が宣言されていません",\
#配列要素数("売上")=0,\
"配列変数ではありません",\
#配列要素数("売上")>0,\
"変数の添字(要素の数)は"+\
#str(#配列要素数("売上"))+"です")

として確認してみてはいかがでしょうか
24268 配列変数でのエラー 佐田 守弘 2004/01/13-22:22
記事番号24265へのコメント
沖縄のあっきーさん
●配列変数について
 >配列型変数の添字とはいったい何でしょうか?
・配列要素数
添字の意味ですが、変数宣言コマンドで記述する際の角括弧の中に書く数字は配列の要素数です。
変数宣言 数値{&売上[10]}
と書いた場合には、&売上[1]〜&売上[10]までの10個1組の変数が宣言されます。
・配列番号
また代入コマンドや変数値を参照する式の中で使う場合には、要素番号です。
例えば&売上[5]は、&売上[1]〜&売上[10]までの1組のうちの5番目の値を意味します。

●エラーの原因
これだけでは原因の特定ができず、外しているかもしれないのですが、
何らかの原因で配列要素番号の0、つまり&売上[0]に代入しようとしたか、
参照しようとしたのではないでしょうか。

もちろん、直接的に&売上[0]と書いたわけではなくて、&売上[&品番]の様な記述をした所、
&品番の値が0であったとか、あるいは未定義であったという事はないでしょうか。

佐田守弘(KS-00119)
24271 Re:配列変数でのエラー 沖縄のあっきー 2004/01/14-18:10
記事番号24268へのコメント
>記述をした所、&品番の値が0であったとか、あるいは未定義であったという

佐田さんありがとうございます。
確かに0か未定義値が入ることがありました。
#条件選択の関数を使用して回避できました。
またなにかありましたらいろいろと教えて下さい。
24272 Re:集計したらエラーが表示された 沖縄のあっきー 2004/01/14-18:15
記事番号24266へのコメント
>として確認してみてはいかがでしょうか

今村様ありがとうございます。
佐田さんからのコメントの通り配列変数の要素番号に
0か未定義値が入ることがありました。
それが原因でした。
#cond関数などでロジックを考えて
もらいまして、ありがとうございます。
またなにかありましたらいろいろと教えて下さい。

戻る