dポイントプレゼントキャンペーン実施中!

クエリ1とクエリ2が開いている状態で
DoCmd.Requery
を実行した場合、
どちらが実行されるのでしょうか?
実験してみたのですがイマイチよくわからなかったです。

A 回答 (1件)

> どちらが実行されるのでしょうか?



DoCmd.Requeryが実行されるのは、それが実行されるその瞬間に
アクティブなもの(=タイトルバーが濃色表示されているもの)になります。

・・・なので、イミディエイト ウィンドウ(Ctrl+Gキーで表示される画面)
からRequeryを実行したなら、そのときアクティブだったクエリが対象に
なりますが(→イミディエイトウィンドウやVBE画面はアクティブ判定の
対象外)、もしも「DoCmd.Requery」をフォームのコマンドボタンに置いて
いるとしたら、Requeryが実行されるのは「コマンドボタンを置いた
フォーム」になってしまいます。

クエリ1やクエリ2が開いている状態で、それらを特定してRequeryを
実行するには、その直前で「SelectObject」を使用します。

Private Sub ボタン1_Click()

  '開いているクエリ1を選択(第3引数をTrueにすると、データベース
  'ウィンドウ(クエリ等の一覧の表示画面)上のクエリ1が選択されます)
  DoCmd.SelectObject acQuery, "クエリ1", False
  DoCmd.Requery

End Sub
    • good
    • 0
この回答へのお礼

有難うございます。アクティブなものなのですね。
SelectObject で特定してみようと思います。

お礼日時:2009/10/23 23:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!