共用方式為


(Access) 的 Report.RecordSource 屬性

使用 RecordSource 屬性來指定報表的資料來源。 讀取/寫入的 String

語法

運算式RecordSource

表達 代表 Report 物件的變數。

註解

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

範例設定值 描述
員工 指定 Employees 資料表做為資料來源的資料表名稱。
SELECT Orders!OrderDate FROM Orders; 指定Orders資料表上OrderDate 字段做為資料來源的 SQL 語句。 您可以將控制項的ControlSource屬性設定為OrderDate,以將表單或報表上的控制項系結至Orders資料表中的OrderDate 欄位

注意事項

[!注意事項] 變更開啟表單或報表的記錄來源會導致自動 requery 巨集的基礎資料。 如果表單的 Recordset 屬性設定於執行階段時,會更新該表單的 RecordSource 屬性。

建立表單或報表之後,您可以透過變更 RecordSource 屬性變更其資料來源。 RecordSource 屬性也是如果您想要建立可重複使用的表單或報表。 例如,您可以建立包含標準設計的報表,然後複製報表並變更 RecordSource 屬性,以顯示來自不同資料表、查詢或 SQL 語句的資料。

範例

下列範例會將表單的 RecordSource 屬性設定為 Customers 資料 表。

Forms!frmCustomers.RecordSource = "Customers"

下一個範例會根據cmboCompanyName下拉式方塊控制項中選取的公司名稱,將表單的記錄來源變更為 Customers資料表中的單一記錄。 這個下拉式方塊填入 SQL 陳述式所傳回公司名稱及客戶編號 (在繫結資料行中)。 客戶編號的資料類型為文字資料。

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

下列範例會示範如何使用結構化查詢語言 (SQL) 陳述式來建立報表的資料來源為開啟。

Private Sub Report_Open(Cancel As Integer)

    On Error GoTo Error_Handler

    Me.Caption = ?My Application?

    DoCmd.OpenForm FormName:=?frmReportSelector_MemberList?, _
    Windowmode:=acDialog

    ?Cancel the report if ?cancel? was selected on the dialog form.

    If Forms!frmReportSelector_MemberList!txtContinue = ?no? Then
        Cancel = True
        GoTo Exit_Procedure
    End If
    Me.RecordSource = ReplaceWhereClause(Me.RecordSource, _
      Forms!frmReportSelector_MemberList!txtWhereClause)

Exit_Procedure:
    Exit Sub

Error_Handler:
    MsgBox Err.Number & ?: ? & Err.Description
    Resume Exit_Procedure
    Resume

End Sub

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應