RecordSource 屬性

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

expandtri全部顯示

使用 RecordSource 屬性可以指定窗體報(bào)表的數(shù)據(jù)源。String 型,可讀寫(xiě)。

expression.RecordSource

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

說(shuō)明

RecordSource 屬性設(shè)置可以是表名稱(chēng)、查詢(xún)名稱(chēng)或者 SQL 語(yǔ)句。例如,可以使用以下設(shè)置:

設(shè)置示例

說(shuō)明

雇員

一個(gè)將“雇員”表指定為數(shù)據(jù)源的表名稱(chēng)。

SELECT 訂單!訂購(gòu)日期 FROM 訂單;

該 SQL 語(yǔ)句指定“訂單”表中的“訂購(gòu)日期”字段作為數(shù)據(jù)源。將控件的 ControlSource 屬性設(shè)為“訂購(gòu)日期”,就可以將窗體或報(bào)表中的控件綁定到“訂單”表的“訂購(gòu)日期”字段。

 

注釋  使用窗體或報(bào)表的屬性表、或者 Visual Basic 可以對(duì) RecordSource 屬性進(jìn)行設(shè)置。

在 Visual Basic 中,使用字符串表達(dá)式可以對(duì)該屬性進(jìn)行設(shè)置。

注釋  如果對(duì)打開(kāi)的窗體或報(bào)表的記錄源進(jìn)行了更改,則會(huì)自動(dòng)對(duì)基礎(chǔ)數(shù)據(jù)進(jìn)行重新查詢(xún)。如果窗體的 Recordset 屬性在運(yùn)行時(shí)設(shè)置,則會(huì)更新窗體的 RecordSource 屬性。

創(chuàng)建窗體或報(bào)表之后,更改 RecordSource 屬性便可以對(duì)其數(shù)據(jù)源進(jìn)行更改。使用 RecordSource 屬性還可以創(chuàng)建可重復(fù)使用的窗體或者報(bào)表。例如,可以先創(chuàng)建一個(gè)包含標(biāo)準(zhǔn)設(shè)計(jì)的窗體,然后復(fù)制該窗體,修改其 RecordSource 屬性,便可以顯示來(lái)自不同表、查詢(xún)或者 SQL 語(yǔ)句的數(shù)據(jù)。

對(duì)窗體記錄源的記錄數(shù)目進(jìn)行限制,可以提高系統(tǒng)或者應(yīng)用程序的性能,特別是當(dāng)應(yīng)用程序在網(wǎng)絡(luò)上運(yùn)行時(shí)效果更加明顯。例如,可以將窗體的 RecordSource 屬性設(shè)為返回單個(gè)記錄的 SQL 語(yǔ)句,并可以按照用戶選擇的條件來(lái)更改窗體的記錄源。

示例

下面的示例將窗體的 RecordSource 屬性設(shè)為“客戶”表:

Forms!frmCustomers.RecordSource = "Customers"

下一個(gè)示例根據(jù) cmboCompanyName 組合框控件中選定的公司名稱(chēng),將窗體的記錄源更改為“客戶”表中的單個(gè)記錄。該組合框的內(nèi)容由一條語(yǔ)句決定,該 SQL 語(yǔ)句返回的是客戶 ID(在綁定列中)和公司名稱(chēng)。“客戶ID”的數(shù)據(jù)類(lèi)型為“文本”型。

Sub cmboCompanyName_AfterUpdate()

    Dim strNewRecord As String

    strNewRecord = "SELECT * FROM Customers " _

        & " WHERE CustomerID = '" _

        & Me!cmboCompanyName.Value & "'"

    Me.RecordSource = strNewRecord

End Sub