Form.Requery 方法 (Access)

Requery 方法更新基于指定窗体基础通过重新查询窗体的数据源的数据。

语法

表达式Requery

expression:表示 Form 对象的变量。

备注

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

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 支持和反馈,获取有关如何接收支持和提供反馈的指南。