過去の桐井戸端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さんありがとうございます。 変数削除ってのがあったんですね! 変数削除を一番上に入れたら解決しました! ただ、フリーズしちゃうのは直らなかったですけど・・。(苦笑) キー入力をさせるとそこで止まっちゃうみたいです…。 |