フォームのデータを更新する
但しこの更新は、現在のフォームの元となっているレコードセットにのみ適用されます。
ですので、他の人が追加したレコード や 削除されたレコード は、更新できません。
これを手動で行うには、「Shft」+「F9」 を実行します。
これによって、フォームの元のレコードセットが再計算され、再び最新のデータが表示されます。
これは、VBAの 「Requery」 メソッドを使用した場合と同様です。
これに関連するメソッドが他にもあります。
以下にその違いを説明します。
≪Requery≫
Me.Requery
フォームの元データを再クエリーします。 「Shift」+「F9」 と同様です。
自分以外のPCで追加・変更・削除された全ての結果がフォームに反映します。
ただし、特定のコントロールを指定してこのメソッドを使用した場合は、そのコントロールが再計算されます。
≪Recalc≫
Me.Recalc
フォーム内の全ての演算コントロールを再計算します。 「F9」 と同様です。
当然、他者による、元データの変更結果は反映されません。
≪Refresh≫
Me.Refresh
フォームの元データを更新します。
メニューの「レコード」-「更新」 (AcXPの場合は、「最新の情報に更新」) と同様です。
他者による、元データへの変更結果を現在の画面に反映させます。
ただし、これはカレントレコードに対する変更を反映するだけですので、
他者によって追加されたデータや削除されたデータは反映できません。
この「更新」は、Accessのmdbの場合、メニューの「オプション」の「詳細」タブにある、
「再表示の間隔」に基づいて、Accessが自動で行う処理と同様です。
また、 データがSQLサーバーなどの場合は、「ODBC の再表示の間隔」の処理と同様です。
≪Repaint≫
Me.Repaint
フォームを再描画し、フォーム上のコントロールを再計算します。
再描画するだけですので、当然他者による、元データの変更結果は反映されません。