Access データベースで [マクロ の再クエリ ] アクションを使用すると、コントロールのソースを再クエリすることにより、アクティブなオブジェクトの指定されたコントロールのデータを更新できます。 コントロールが指定されていない場合、オブジェクト自体のソースが再クエリされます。 このアクションを使用し、アクティブなオブジェクトまたはそのコントロールの 1 つに最新のデータが表示されるようにします。
設定
"Requery/再クエリ" マクロ アクションには次の引数があります。
| アクションの引数 | 説明 |
|---|---|
| コントロール名 | 更新するコントロールの名前です。 マクロ デザイン ウィンドウの [コントロール名] ボックスにコントロール名を入力します。 (Forms!フォーム名!コントロール名) 完全修飾識別子ではなく、コントロールの名前だけを使用してください。 この引数を空にすると、アクティブなオブジェクトのソースが再クエリされます。 アクティブなオブジェクトがデータシートまたはクエリ結果セットである場合は、この引数を空白のままにする必要があります。 |
解説
"Requery/再クエリ" マクロ アクションは、次のいずれかを実行します。
- コントロールまたはオブジェクトが基礎にするクエリを再実行します。
- 新規または変更されたレコードを表示し、削除されたレコードをコントロールまたはオブジェクトの基になるテーブルから削除します。
注
"Requery/再クエリ" マクロ アクションは、レコード ポインターの位置に影響を与えません。
クエリまたはテーブルを基礎とするコントロールに含まれるもの:
- リスト ボックスとコンボ ボックス。
- サブフォーム コントロール。
- OLE オブジェクト (グラフなど)。
- DSum などのドメイン集計関数を含むコントロール。
指定したコントロールがクエリまたはテーブルを基礎としていない場合、このアクションでは、コントロールの再計算が強制されます。
コントロール 名 引数を空白のままにすると、 再クエリ アクションは、オブジェクトにフォーカスがあるときに Shift+F9 キーを押した場合と同じ効果があります。 サブフォーム コントロールにフォーカスがある場合、このアクションはサブフォームのソースのみを再クエリします (Shift + F9 キーを押す場合と同様)。
注
[ 再クエリ ] マクロ アクションは、コントロールまたはオブジェクトのソースを再クエリします。 一方、 RepaintObject マクロ アクションは、指定されたオブジェクト内のコントロールを再描画しますが、データベースへの再クエリや新しいレコードの表示は行いません。 ShowAllRecords マクロ アクションは、アクティブなオブジェクトを再クエリするだけでなく、Requery マクロ アクションでは行わない適用されたフィルターも削除します。
アクティブなオブジェクトにないコントロールを再クエリする場合、"Requery/再クエリ" マクロ アクションや DoCmd オブジェクトの "Requery/再クエリ" メソッドではなく、Visual Basic for Applications (VBA) モジュールの "Requery/再クエリ" メソッドを使用する必要があります。 VBA の "Requery/再クエリ" メソッドは、"Requery/再クエリ" マクロ アクションや DoCmd.Requery メソッドより高速になります。 また、 Requery マクロ アクションまたは DoCmd.Requery メソッドを使用すると、クエリは閉じられ、データベースから再読み込みされますが、 Requery メソッドを使用すると、クエリを閉じて再読み込みせずにクエリが再実行されます。 ActiveX Data Object (ADO) "Requery/再クエリ" メソッドは、Access "Requery/再クエリ" メソッドと同じように機能します。