NavigationControl.Requery 方法 (Access)

Requery 方法通过重新查询控件的数据源活动窗体上的指定控件的数据将更新。

语法

表达式Requery

表达 一个代表 NavigationControl 对象的变量。

备注

使用此方法可确保窗体或控件显示最新数据。

Requery 方法执行以下任一操作:

  • 重新运行窗体或控件所基于的查询。
  • 显示任何新的或已更改的记录,或从窗体或控件所基于的表中删除已删除的记录。
  • 更新显示的记录基于窗体的 Filter 属性的任何更改。

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

  • 列表框和组合框。
  • 子窗体控件。
  • OLE 对象,如图表。
  • 控件的 控件来源 属性设置包括域聚合函数或 SQL 聚合函数。

如果为 表达式指定的对象指定任何其他类型的控件,则会重新查询窗体的记录源。

如果 expression 指定的控件未绑定到表或查询中的字段,Requery 方法将强制控件进行重新计算。

如果省略由 expression 指定的对象,Requery 方法将重新查询基础数据源查找具有焦点的窗体或控件。 如果具有焦点的控件有记录源或行来源,它将被重新查询;否则控件的数据只是简单地刷新。

如果子窗体控件具有焦点,则此方法只重新查询子窗体的记录源,不查询父窗体的记录源。

注意

  • Requery 方法更新基于窗体或控件的数据,以反映自上一次查询以来记录源中新增的记录或已删除的记录。 Refresh 方法仅显示对当前记录集所做的更改;它不会反映记录源中的新记录或删除的记录。 Repaint 方法只是重新绘制指定的窗体及其控件。
  • Requery 方法不会将控制权交给操作系统以允许 Windows 继续处理消息。 如果需要暂时放弃对操作系统的控制权,请使用 DoEvents 函数。
  • Requery 方法比 Requery 操作更快。 使用 Requery 操作时,Microsoft Access 将关闭查询,然后从数据库重新加载。 使用 Requery 方法时,Access 会重新运行查询,而无需关闭并重新加载查询。

示例

以下示例使用 Requery 方法从 Employees 窗体上的EmployeeList 列表框中重新查询数据。

Public Sub RequeryList() 
 
    Dim ctlCombo As Control 
 
    ' Return Control object pointing to a combo box. 
    Set ctlCombo = Forms!Employees!ReportsTo 
 
    ' Requery source of data for list box. 
    ctlCombo.Requery 
 
End Sub

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。