Access VBA Refresh,Requery,Repaintについて

Anonymous
2019-12-31T00:46:21+00:00

1.Access VBA の Refresh,Requery,Repaintはそれぞれどんな時に使うと効果があるのですか?

2.Private Sub cmdsyusei_Click()

  Me.Requery

と関数の宣言の後にRequery,Refresh,RepaintをMeに対して行うのは

どのような効果があるのですか?

                                                                                                                                       以上

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません
{count} 件の投票

1 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2020-01-04T02:31:39+00:00

    1.Access VBA の Refresh,Requery,Repaintはそれぞれどんな時に使うと効果があるのですか?

    まずは、Refresh, Requery, Repaint のヘルプを確認しましょう。詳しく解説されています。。

    それぞれのコマンドにカーソルを置いてF1キーを押すとヘルプが表示されます。

    それぞれのコマンドの意味の違いも「注意」というコラムに解説があります。

        Me.Requery

        Me.Refresh

        Me.Repaint

    のそれぞれの違いを簡単に説明しておきます。

    Meというのはコードを記述してあるオブジェクトを指します。フォームモジュールに記述してあるのならそのフォームのことです。

    Me.Requery はフォームのレコードソースのテーブル(またはクエリ)を再読み込みします。すべてのレコードを読み込みますので、カレントレコードは先頭へ移動します。

    使いどころとしては、レコードソースか他から更新・削除・追加があったときに、それをフォームに反映させたいときです。

     Me.Refresh はカレントレコードのみ再読み込みします。読み込むのはカレントレコードのみですので、レコード移動はしません。

    使いどころは、他からカレントレコードに対してされた変更はフォームに反映させたいときです。

    Me.Repaintはフォーム上のコントロールの再描画を行います。タスク実行中だとすぐに再描画されない場合があるので再描画を強制します。あくまでフォーム上の表示だけの問題ですので、レコードソースとは関係ありません。

    VBAでループなどでコードを連続実行する場合、コントロールの値やプロパティを変更してもすぐに反映されないときに使います。

    23 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません