Access データベースの使用には、大きく 2 つの部分があります。1 つはデータの計算と処理です。データ テーブルとクエリはすべて、データ情報を形成するためのデータの計算と処理を完了するために使用されます。参考までに、2 つ目はユーザー インターフェイス (UI) の作成です。これも重要な部分です。一般のユーザーはクエリなどの作成方法を知らないため、必要な情報を取得するにはボタンをクリックするだけであるため、ユーザーがデータベース操作を実行できるようにするためのフォームを大量に作成する必要があります。必要な情報を入手するためです。したがって、優れたデータベース アプリケーション システムには、これら 2 つの部分が不可欠です。
フォームを構築し、ユーザーにその使用を案内する過程で、この問題がよく発生します。ユーザーがコマンド ボタンを押すと、大量の計算作業が発生するため、プログラムがそのボタンに関連付けられたプログラムの実行を開始することがあります。そのため、コンピューターの動作が遅くなり、Access の画面が応答しなくなります。少し時間がかかると、クラッシュしたように感じます。したがって、この場合、コンピュータが現在何をしているのかをユーザーに知らせるプロンプトボックスがあったほうがよいでしょう。また、何も変更せずに待っていると感じてしまうため、時間が短く感じられることもあります。もっと長く!
このインスタント情報表示ウィンドウを完成させるために、最初に考えられるのは、プログラムの特定の部分にコードを追加することです。このコードにより、ウィンドウ内に関連するテキストが表示される新しいウィンドウが開きます。「プログラムは実行中です。お待ちください..." "お待ちください。コードも非常に単純です。Access では次のようになります。
…
DoCmd.OpenForm「待機」
Forms!Wait!lblwait.Caption = "プログラムが実行中です。お待ちください..."
…
このうち、wait はフォーム (Form) の名前、lblwait はフォーム内のラベル (Label) コントロールの名前です。プログラムが省略記号まで実行されると、待機ウィンドウが開きます。ラベル コントロールが「プログラムが実行中です。実行中です、お待ちください...」に変更されます。
しかし、このプログラム コードを実際に実行すると、想像していたものとは異なることがわかります。待機ウィンドウは表示されますが、最初は、何も表示されていない白い領域が表示されているだけです。コンピュータが実行されているように見えます。表示が遅いと動作しませんが、最も速いコンピューターに切り替えて実行したとしても、結果は依然としてこのようになります。 !
今度は、Repaint メソッドがその才能を発揮する番です。次のように、上記のコードを少し変更します。
…
DoCmd.OpenForm「待機」
Forms!Wait!lblwait.Caption = "プログラムが実行中です。お待ちください..."
フォーム!待機。再ペイント
…
もう一度実行すると、ウィンドウが通常どおり表示され、プロンプトが表示されます。
その後、必要な場所にこのコードを追加し、テキストを変更すると、プログラムの実行中にプログラムの動作をリアルタイムでユーザーにプロンプトすることができます。
その理由は実際には非常に単純です。つまり、プログラムの実行中に画面表示がリアルタイムで更新されないため、プログラムの実行が高速化されます。したがって、多数の計算を設計する場合、プログラムはクラッシュしたかのように表示を更新しませんが、Repaint メソッドを追加すると画面表示が強制的に更新され、プログラムの実行ステータスを動的に確認できるようになります。