過去の桐井戸端BBS (桐ver.8)
14410 フォームのコマンドボタンで一括処理を実行した時、すでに変数宣言してあるというメッセージが出る しゅう 2001/12/07-16:34
こんにちは。
ちょっと行き詰まっているので教えて下さい。

私は、「桐Ver.8 sp6」を使っているのですが、
社内に配る為に、フォームでメニュー画面を作り、
コマンドボタンで一括処理を行い、
入力したデータを印刷する様にしてるのですが

[ここからが問題点です]
仮にA.CMDを実行しました。この一括処理には、10個ほど変数を宣言しています。
印刷が終わり、フォームに戻りました。
今度は、B.CMDを実行しました。
ここで「すでに変数は宣言してあります」というメッセージが出ます。
AとBには、同じ名前で変数を宣言している部分もあるのですが
こういう場合は、どうしたら良いのでしょう??
順番から言うと、Bを実行して、Aを実行するというパターンもあります。

なんか説明下手で、すみません。
よろしくお願いします。
14415 Re:フォームで一括処理を実行した時 masa 2001/12/07-18:26
記事番号14410へのコメント
しゅうさん 今晩は。

混乱させてしまうかも知れませんが、フォーム上でのコマンドボタンの一括処理は制限があって、
私にはまだ難しく解決できなかったのですが、
「フォーム形式編集」や「表形式編集」が文中にあると止まってしまったりします。
私もコマンドボタンが3つあって、それぞれ一括処理を指定してあって
2番目(どの順でも)に押されたボタンで止まってしまいました。
(最終的にはその処理はフォームを使わず一括処理でメニューを作って回避しました。)

過去にも↓いう事がありました。
http://www.fuku3.com/~habata/kbbs/kakov8/11264.htm (42,811 bytes)

戸惑うかもしれませんが、一応参考にして下さい。

14417 Re:「すでに変数は宣言してあります」 Ogo 2001/12/07-19:02
記事番号14410へのコメント

>[ここからが問題点です]
>仮にA.CMDを実行しました。この一括処理には、10個ほど変数を
>宣言しています。印刷が終わり、フォームに戻りました。
>今度は、B.CMDを実行しました。
>ここで「すでに変数は宣言してあります」というメッセージが出ます。
>AとBには、同じ名前で変数を宣言している部分もあるのですが
>こういう場合は、どうしたら良いのでしょう??

これは「違う型でありながら、同じ変数名を宣言した
(夫々の CMD 内で)」ということです。

まず基本的には、そんなことが起きないようにするのが
最もまともな解決方法だと思います(違う型なら、違う変数名にするのが妥当ということです)。

でも、そうもいかない場合(後々メンテナンスが困難になりやすいですが)は……

1.変数の種別を指定する
  「固有」を明示して変数宣言をする。
  これで、その一括処理が終了する段階で、「固有」変数は自動的に消えてなくなります。

2.一括処理の冒頭で「変数削除」を実行する。

14478 ありがとうございます。 しゅう 2001/12/11-09:46
記事番号14410へのコメント
こんにちはー。
レス遅くなってすみません…。
masaさん。Ogoさんありがとうございます。
変数削除ってのがあったんですね!
変数削除を一番上に入れたら解決しました!
ただ、フリーズしちゃうのは直らなかったですけど・・。(苦笑)
キー入力をさせるとそこで止まっちゃうみたいです…。

戻る