使用 RecordSource 属性可以指定窗体或报表的数据源。String 型,可读写。
expression.RecordSource
expression 必需。返回“应用于”列表中的一个对象的表达式。
RecordSource 属性设置可以是表名称、查询名称或者 SQL 语句。例如,可以使用以下设置:
设置示例 |
说明 |
雇员 |
一个将“雇员”表指定为数据源的表名称。 |
SELECT 订单!订购日期 FROM 订单; |
该 SQL 语句指定“订单”表中的“订购日期”字段作为数据源。将控件的 ControlSource 属性设为“订购日期”,就可以将窗体或报表中的控件绑定到“订单”表的“订购日期”字段。 |
注释 使用窗体或报表的属性表、宏或者 Visual Basic 可以对 RecordSource 属性进行设置。
在 Visual Basic 中,使用字符串表达式可以对该属性进行设置。
注释 如果对打开的窗体或报表的记录源进行了更改,则会自动对基础数据进行重新查询。如果窗体的 Recordset 属性在运行时设置,则会更新窗体的 RecordSource 属性。
创建窗体或报表之后,更改 RecordSource 属性便可以对其数据源进行更改。使用 RecordSource 属性还可以创建可重复使用的窗体或者报表。例如,可以先创建一个包含标准设计的窗体,然后复制该窗体,修改其 RecordSource 属性,便可以显示来自不同表、查询或者 SQL 语句的数据。
对窗体记录源的记录数目进行限制,可以提高系统或者应用程序的性能,特别是当应用程序在网络上运行时效果更加明显。例如,可以将窗体的 RecordSource 属性设为返回单个记录的 SQL 语句,并可以按照用户选择的条件来更改窗体的记录源。
下面的示例将窗体的 RecordSource 属性设为“客户”表:
Forms!frmCustomers.RecordSource = "Customers"
下一个示例根据 cmboCompanyName 组合框控件中选定的公司名称,将窗体的记录源更改为“客户”表中的单个记录。该组合框的内容由一条语句决定,该 SQL 语句返回的是客户 ID(在绑定列中)和公司名称。“客户ID”的数据类型为“文本”型。
Sub cmboCompanyName_AfterUpdate()
Dim strNewRecord As String
strNewRecord = "SELECT * FROM Customers " _
& " WHERE CustomerID = '" _
& Me!cmboCompanyName.Value & "'"
Me.RecordSource = strNewRecord
End Sub