#029 フォームを素早く"見せる"には? フォーム

この方法は、常時開いているわけではないがしばしば開いたり閉じたりするようなフォーム、あるいは開くのに時間がかかるようなフォームを、いかにもすぐ開いたかのように"見せる"ためのものです。

それにはまず、「起動時の設定」にある最初に表示するフォームのモジュールでそれらのフォームもいっしょに開いてしまいます。ただし、その際通常に開いたのではそれらのフォームが目に見えてしまいますので、"非表示"で開く必要があります。それにはフォームの[可視]プロパティをあらかじめ"いいえ"にしておくか、フォームを開く際の Docmd.Openform メソッドを次のようにします。
    DoCmd.OpenForm "フォーム1", , , , , acHidden

そして、そのフォームを実際に見せるときになったら、Docmd.Openform メソッドではなく次のようなコードを実行します。
    Forms!フォーム1.Visible = True

さらに何回も開いたり閉じたりする可能性のあるフォームであれば、やはり Docmd.Close メソッドではなく次のようなコードを実行します。
    Forms!フォーム1.Visible = False

なお、アプリケーションの起動時に画面中央に表示されるロゴなどの入ったフォームを"スプラッシュフォーム"といいますが、そのフォームの中でこれらの非表示フォームを開いてしまうのが見た目にもいいのではないでしょうか?。

※参考までに、スプラッシュフォーム内のモジュールで標準モジュール内にあるプロシージャを呼び出すと、その時点で標準モジュールのすべてのコードもメモリに読み込まれますので、これもいざ実行というときに早く動作し始めさせることができます。特に大量のコードがある場合には有効です。
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved