RecordSource 屬性

套用到
Microsoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

適用對象

Form 物件
Report 物件

你可以使用 RecordSource 屬性指定表單或報告資料的來源。 讀/寫字串

expression.RecordSource

表達 必須。 一個回傳 Apply To 清單中物件的表達式。

備註

RecordSource 屬性設定可以是資料表名稱、查詢名稱或 SQL 陳述式。 例如,您可以使用下列設定。

取樣設定 描述
員工 指定 [員工] 資料表為資料來源的資料表名稱。
SELECT Orders!OrderDate FROM Orders; 指定 [訂單] 資料表上的 [訂單日期] 欄位為資料來源的 SQL 陳述式。 您可以透過將 ControlSource 屬性設為 [訂單日期],來將表單或報表上的控制項繫結至 [訂單] 資料表上的 [訂單日期] 欄位。

      

注意

你可以使用表單或報告的屬性表、巨集,或 Visual Basic for Applications (VBA) 程式碼來設定 RecordSource 屬性。

在 VBA 中,使用字串表達式來設定這個屬性。

注意

變更開啟的表單或報表的記錄來源會使系統自動查詢基本資料。 如果在執行階段設定表單的 Recordset 屬性,該表單的 RecordSource 屬性會進行更新。

建立表單或報表之後,您可以透過變更 RecordSource 屬性來變更其資料來源。 如果您想要建立可以重複使用的表單或報表的話,RecordSource 屬性也非常實用。 比方說,您可以建立加入了標準設計的表單,然後複製該表單,並變更 RecordSource 屬性以顯示來自不同資料表、查詢或 SQL 陳述式的資料。

限制表單中記錄來源所包含的記錄數量能提升效能,尤其是當您的應用程式是在網路上執行時更是如此。 例如,您可以將表單的 RecordSource 屬性設為一個會傳回單一記錄,且會根據使用者所選取之準則變更表單記錄來源的 SQL 陳述式。

範例

以下範例將報表的 RecordSource 屬性設為 [Customers] 資料表:

Forms!frmCustomers.RecordSource = "Customers"

下一個範例會根據組合框控制中選擇 cmboCompanyName 的公司名稱,將表單的記錄來源在客戶資料表中改為單一記錄。 該下拉式方塊中含有會傳回客戶識別碼 (繫結資料行中) 以及公司名稱的 SQL 陳述式。 [CustomerID] 為文字資料類型。

Sub cmboCompanyName_AfterUpdate()
    Dim strNewRecord As String
    strNewRecord = "SELECT * FROM Customers " _
        & " WHERE CustomerID = '" _
        & Me!cmboCompanyName.Value & "'"
    Me.RecordSource = strNewRecord
End Sub