こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

VBAでstatic変数を宣言するとトラブル

フォームにクエリーを基にしたリストボックスがあり、クエリーの抽出条件には同じフォームのテキストボックスを指定しています。テキストボックスには規定値プロパティーで"*"を設定しています。
それで問題なく開くことが出来ていたのですが、必要があってフォームモジュールでStatic変数を宣言したところ、クエリーが機能せず、指定したテキストボックスのパラメーター入力ダイアログが表示されます。static変数の宣言を削除するとちゃんと動きます。public変数やモジュール変数を宣言してもおなじ現象が起きます。
原因はなんでしょうか。またどうすればstatic変数などを使うことが出来るのでしょうか?
よろしくお願いします。

投稿日時 - 2012-12-27 13:57:35

QNo.7863804

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

Access2010でフォームに非連結リストボックスと、非連結テキストボックスを置き、リストボックスの値集合ソースにテキストボックスの値を用いたSQLを設定するという簡単なサンプルで試したところ、フォームのモジュールレベルにstatic変数を宣言すると確かに再現しました。(フォームモジュールのプロシージャ内に宣言しても再現されません)
しかしながら、フォームのモジュールレベルにstatic変数を宣言したいというニーズが分かりません。staticだろうとなかろうと、フォームが存在する限りは、モジュールレベルに宣言した変数の値は保持されると思いますので。また、必ず保存しておきたい値は、専用のテーブルを作成して保存しておけば、VBAがリセットされても残ります。
何をなさりたいかを開示いただけると、目的に即したアドバイスが得られるかもしれません。
なお、当方の試したモデルに誤解しているところがあればご指摘下さい。

投稿日時 - 2012-12-27 23:16:43

お礼

ご回答ありがとうございました。
こちらのミスなのか、メールによる連絡がなく、お礼が遅くなり失礼しました。
当方、まだアクセスを体系的に理解していない面もあり、もういちどゆっくり考えることにします。
ありがとうございました。

投稿日時 - 2013-01-11 08:09:45

あなたにオススメの質問