Requery 方法

此頁(yè)沒有內(nèi)容條目
內(nèi)容

expandtri全部顯示

blueup應(yīng)用于 DoCmd 對(duì)象的 Requery 方法。

在 Visual Basic 中,DoCmd 對(duì)象的 Requery 方法執(zhí)行 Requery 操作。

expression.Requery(ControlName)

expression     必需。返回以上對(duì)象之一的表達(dá)式。

ControlName     可選 Variant 型。字符串表達(dá)式,表示活動(dòng)對(duì)象上控件的名稱。

blueup應(yīng)用于“應(yīng)用于”列表中所有其他對(duì)象的 Requery 方法。

Requery 方法通過重新查詢窗體或控件的數(shù)據(jù)源更新基于指定窗體或激活窗體上的控件的數(shù)據(jù)。

expression.Requery

expression     必需。返回“應(yīng)用于”列表中的一個(gè)對(duì)象的表達(dá)式。

說明

使用該方法可以確保窗體或控件顯示最新的數(shù)據(jù)。

Requery 方法執(zhí)行下列操作之一:

?重新運(yùn)行基于其創(chuàng)建窗體或控件的查詢。
?顯示任何新的或已更改的記錄,或從窗體或控件所基于的表中刪除已刪除的記錄。
?根據(jù)對(duì)窗體的 Filter 屬性所作的任何更改更新顯示記錄。

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

?列表框組合框。
?子窗體控件
?OLE 對(duì)象,如圖表。
?ControlSource 屬性設(shè)置包括域聚合函數(shù)或 SQL 聚合函數(shù)的控件。

如果指定由 expression 指定的任何其他類型的控件,則重新查詢窗體的記錄源。

如果 expression 指定的控件未綁定到表或查詢中的字段,Requery 方法將強(qiáng)制控件進(jìn)行重新計(jì)算。

如果省略由 expression 指定的對(duì)象,Requery 方法將重新查詢基礎(chǔ)數(shù)據(jù)源查找具有焦點(diǎn)的窗體或控件。如果具有焦點(diǎn)的控件有記錄源或行來源,它將被重新查詢;否則控件的數(shù)據(jù)只是簡(jiǎn)單地刷新。

如果子窗體控件具有焦點(diǎn),則該方法只重新查詢子窗體的記錄源,不查詢父窗體的記錄源。

注釋

?Requery 方法更新基于窗體或控件的數(shù)據(jù),以反映自上一次重新查詢以來記錄源中新增的記錄或已刪除的記錄。Refresh 方法只顯示對(duì)當(dāng)前記錄集所做的更改;它不反映記錄源中新增的記錄或已刪除的記錄。Repaint 方法只簡(jiǎn)單地重畫指定的窗體及其控件。
?Requery 方法不會(huì)將控制權(quán)交給操作系統(tǒng)以允許 Windows 繼續(xù)處理消息。如果需要暫時(shí)放棄對(duì)操作系統(tǒng)的控制權(quán),請(qǐng)使用 DoEvents 函數(shù)。
?Requery 方法的速度比 Requery 操作快。使用 Requery 操作時(shí),Microsoft Access 將關(guān)閉查詢?nèi)缓髲臄?shù)據(jù)庫(kù)重新加載。而使用 Requery 方法時(shí),Microsoft Access 將重新運(yùn)行查詢,而不是關(guān)閉并重新加載查詢。

示例

blueup應(yīng)用于 DoCmd 對(duì)象。

下面的示例使用 Requery 方法更新“雇員列表”控件:

DoCmd.Requery "EmployeeList"

blueup應(yīng)用于“應(yīng)用于”列表中的所有其他對(duì)象。

下面的示例使用 Requery 方法來重新查詢“雇員”窗體上的“雇員列表”列表框中的數(shù)據(jù):

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