Requery 宏操作

适用于:Access 2013、Office 2013

可以使用 Requery 操作通过重新查询控件的数据源来更新活动数据库对象上指定控件中的数据。 如果未指定任何控件,此操作将重新查询对象的数据源本身。 使用此操作可以确保活动对象或它的其中一个控件显示的是最新数据。

Setting

Requery 操作具有以下参数。

操作参数

说明

控件名称

要更新的控件的名称。 请在“宏生成器”窗格“操作参数”部分的“控件名称”框中输入控件名称。 只应使用控件的名称,而不是完全限定的标识符(例如,Forms!窗体名称!控件名称)。 将此参数留空可重新查询活动对象的数据源。 如果活动对象是数据表或查询结果集,则必须将此参数留空。

备注

Requery 操作执行下列操作之一:

  • 返回控件或对象所基于的查询。

  • 显示所有新的或更改的记录,并且从控件或对象所基于的表中移去所有被删除了的记录。

注意

Requery 操作不影响记录指针的位置。

基于查询或表的控件包括:

  • 列表框和组合框。

  • 子窗体控件。

  • OLE 对象,如图表。

  • 包含域聚合函数的控件,如 DSum

如果指定的控件并不基于查询或表,此操作将强行对该控件进行重新计算。

If you leave the Control Name argument blank, the Requery action has the same effect as pressing SHIFT+F9 when the object has the focus. 如果子窗体控件具有焦点,此操作将只重新查询子窗体的数据源(就像按 Shift+F9 一样)。

注意

Requery 操作重新查询控件或对象的数据源。 而 RepaintObject 操作重画则指定对象中的控件,但不重新查询数据库或者显示新记录。 ShowAllRecords 操作不仅重新查询活动对象,它还删除所有已应用的筛选,而 Requery 操作不这么做。

如果要重新查询的控件不在活动对象上,则必须在 Visual Basic for Applications (VBA) 模块中使用 Requery 方法,而不是使用 Requery 操作或者与之对应的 DoCmd 对象的 Requery 方法。 VBA 中的 Requery 方法比 Requery 操作或 DoCmd.Requery 方法更快。 此外,在使用 Requery 操作或 DoCmd.Requery 方法时,Microsoft Access 会关闭查询并从数据库中重新加载它,但在使用 Requery 方法时,Access 会重新运行查询,而不关闭并重新加载它。 请注意,ActiveX Data 对象 (ADO) Requery 方法的工作方式与 Access Requery 方法相同。