(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 支援與意見反應。