RecordSource 属性

RecordSource 属性


应用于

 

返回或设置Data控件的基本表、SQL语句

语法

object.RecordSource [= value ]

RecordSource 属性的语法具有这些部分:

部分描述
object对象表达式,其值是“应用于”列表中的对象。
value如“设置值”中所示,指定名称的字符串表达式

设置值

value 的设置值为:

设置描述
表名称Database 对象的 TableDefs 集合中定义的一张表的名称。
SQL 查询符合数据源的语法的合法 SQL 字符串。
stored procedureThe name of a stored procedure in the database.

When using DAO, Database 对象的 QueryDefs 集合中的一个 QueryDef 对象的名称。


说明

RecordSource属性指定通过窗体上的被绑定的控件访问的记录的来源。

如果将 RecordSource 属性设置为数据库中的一个存在的表的名称,则那张表中的所有字段对附属于Data控件的被绑定的控件都是可见的。对于表类型的记录集(RecordsetType = vbRSTypeTable),被检索的记录的顺序由 Recordset Index 属性选择的 Index 对象来决定。对于 dynaset 类型和快照类型的 Recordset 对象,可以通过在 Data 控件的 Recordset 属性中使用带有 Order By 子句的 SQL 语句的方法来对记录排序。否则,不以特别的顺序返回数据。

如果将 RecordSource 顺序设置为数据库中一个存在的 QueryDef 的名称,则由 QueryDef 返回的所有字段对附属于 Data 控件的被绑定的控件都是可见的。被检索的记录的顺序由 QueryDef 对象的查询设置。例如,QueryDef 可以包含一个 ORDER BY 子句来改变由 Recordset 返回的由 Data 控件创建的记录的顺序,或者包含一个 WHERE 子句来过滤记录。如果 QueryDef yDef 不指明顺序, 将不以特别的顺序返回数据。

注意 在设计时,显示在 RecordSource 属性的“属性”窗口中的 QueryDef 对象被过滤,从而只显示 Data 控件可使用的 QueryDef 对象。具有参数的 QueryDef 对象,以及具有如下类型的 QueryDef 对象不被显示:dbQAction、dbQCrosstab、dbQSQLPassThrough dbQSetOperation

如果将 RecordSource 属性设置为一个返回记录的 SQL 语句,则该 SQL 查询返回的所有字段对附属于 Data 控件的被绑定的控件都是可见的。此语句可以包含一个 ORDER BY 子句来改变由 Data 控件创建的 Recordset 返回的记录的顺序,或者包含一个WHERE子句来过滤记录。如果在 Database Connect 属性中指定的数据库不是 Microsoft Jet 引擎数据库,而且 dbSQLPassThrough 选项在 Options 属性中被设置,则 SQL 查询必须使用该数据库引擎所要求的语法。

注意 每当 QueryDef 或 SQL 语句从一个表达式返回一个值时,该表达式的字段名称由 Microsoft Jet 数据库引擎自动地创建。一般地,该名称为 Expr1 后跟一个从 000 开始的三个字符的数字。例如,第一个表达式将被命名为:Expr1000。

在大多数情况下,需要为表达式指定别名,从而知道绑定到被绑定的控件上的列的名称。关于更多的信息,请参阅 SQL SELECT 语句的 AS 子句。

当在运行时改变 RecordSource 属性的值后,必须使用 Refresh 方法使改变生效,并重建 Recordset

在运行时,如果 Recordset 指定了一个非法的 Table 名称、QueryDef 名称,或者包含了非法的 SQL 语法,则产生一个可捕获的错误。如果此错误在初始的 Form_Load 过程中发生,则该错误是不可捕获的。

注意 请保证每个被绑定的控件都对其 DataField 属性具有合法设置。如果改变了 Data 控件的 RecordSource 属性的设置并随后使用 Refresh,则 Recordset 标识新对象。这可能使被绑定的控件的 DataField 设置失效,并导致一个可捕获的错误。

数据类型

String


应用于

 

Data 控件


相关基础知识:

 

SQL 语句

SQL 中的以关键字打头、完整描述一个操作的完整的短语。例如:SELECT * FROM Orders。SQL 语句不应和语句混淆。

对象表达式

说明具体对象的表达式,可以包含对象的容器。例如,应用程序可以拥有 Application 对象,其中包含 Document 对象,而 Document 对象又包含 Text 对象。

字符串表达式

任何其值为一连串字符的表达式。字符串表达式的元素可包含返回字符串的函数、字符串文字、字符串常数、字符串变量、字符串 Variant 或返回字符串 Variant (VarType 8) 的函数。

运行时

代码正在运行的时期。在运行时,不可编辑过程码。

被绑定的控件

一种数据觉察控件,可以通过 RemoteData Data 控件对数据源中的一个或多个特定的列进行访问。Data 觉察控件可通过 DataSource DataField 属性绑定到 RemoteData Data 控件上。当 RemoteData Data 控件从一行移动到下一行时,所有与 RemoteData Data 控件绑定的被绑定的控件随着显示当前行中各列的数据。当被绑定控件中的数据被改变并随后移动到不同的行时,这些改变会自动保存在数据源中。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值