質問:
「社内で作成したシステム(Accessファイル)を、バージョンが異なるそれぞれのパソコンから開くと「モジュールがありません」のメッセージが出てきます。どのように修正すれば全てのパソコンから入力出来るようになりますか?」の質問に対して次のお答えを頂きました。
「Public appAccess As Object
Set appAccess = CreateObject("Access.Application")
不用になれば
Set appAccess = Nothing」
しかし、このコマンドをどこに挿入すれば良いのかうまくいきません。
そこで、PublicをDimに変えて全てのプロシージャにこのコマンドを入力したら、動くんですがシステムが重くなり、処理にかなり時間が掛かるようになってしまいました。
どのようにすればうまく動くようになりますでしょうか?お教え下さい。
よろしくお願いします。
(尚、地方でもVPNを通してこのシステムを利用している為、テーブルとフォームの分割は出来ないようです)
答え:
Dimにするから、遅くなる。Publicと教えたはず。
標準モジュールの先頭に
Public appAccess As Object
を宣言する。
プログラムの開始時に最初に行うステップで(フォームならForm_Loadイベント処理部とか)
Set appAccess = CreateObject("Access.Application")
を記入する。
すると、プログラム内のどこから(全てのプロシージャ)でもappAccessが利用できる。
最後に、プログラム終了直前に
Set appAccess = Nothing
を記入して、メモリの開放を行う
ところで、前の質問の回等が削除されているけど・・・・・どうして。
補足の質問:
ご回答ありがとうございます。私は、まだAccsesが未熟な為プログラムは全てイベントクラスモジュールに書き込んでいました。プログラムを標準モジュールに移してからご回答頂いたことを実行したいと思います。この質問・回答は役に立ちましたか?
答え:
Dim で変数宣言するのは、プロシージャ内。
Public で変数宣言するのは、プロシージャ内ではありません。

ウェブサイトのユーザーによる情報ポスト、JPQA.comのない保証の正しさ.

  • GoogleのGメール。現在は限られた人のみに提供されて...
  • 質問です。現在一太郎を使用してます。半角英数から...
  • 現在ホームページビルダーでホームページを作成中なの...
  • ウィンドウズビスタはXPからだと1万5千円くらいら...
  • ウィンドウズネットワークを手動で設定すると、「○○...
  • CreateProcess関数を使ってメモ帳を起動したいのです...