设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 5155|回复: 2
打印 上一主题 下一主题

[ADO/DAO] OpenRecordset打开查询的问题

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2015-7-13 23:48:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Dim rst As DAO.Recordset
Dim db As DAO.Database
Set db = CurrentDb()

Set rst = db.OpenRecordset("学生信息", dbOpenTable)
以上代码可以得到一个“学生信息”表的记录集,请问,如果将db.OpenRecordset("学生信息", dbOpenTable)中的“学生信息”换成一个查询的名字,后面的dbOpenTable应该改为哪个参数?

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
推荐
发表于 2015-7-14 05:37:54 | 只看该作者
试试不带参数,
即Set rst = db.OpenRecordset("qry学生信息")
或者 Set rst = db.OpenRecordset(sql语句)

下面是我看到的关于RST对象参数的说明,供参考:
有四种类型的 Recordset 对象:
¨        Table 型 Recordset——代表编码的基本表,可用于添加、改变或删除单一数据库的记录 (只限于 Microsoft Jet 工作区)。
¨        Dynaset 型 Recordset——包含可更新记录的查询结果。Dynaset 型 Recordset 对象是记录的动态集合,可用于添加、改变或删除底层数据库或表格的记录。Dynaset 型 Recordset 对象的字段可来自数据库的一个或多个表。该类型与 ODBC 键集游标相对应。
¨        Snapshot 型 Recordset——记录集的静态副本,可用于查找或产生报表。Snapshot 型  Recordset 对象的字段可来自数据库的一个或多个表,但不能更新。该类型与 ODBC 静态游标相对应。

¨        Forward-only 型 Recordset——等同于快照型,只是不提供游标。它只能沿记录方向滚动。对于只需要简单遍历记录集的情况,该类型可加速运行。该类型与 ODBC 只向前游标相对应。
¨        Dynamic 型 Recordset——来自一个或多个基本表的查询结果集,可在其中添加、改变或删除行转 row-returning 查询的记录。另外,其他用户在基本表中添加、删除或编辑的记录也出现在 Recordset。该类型与 ODBC 动态游标相对应(只限于 ODBCDirect 工作区)。

使用 OpenRecordset 方法的 type 参数可选择要创建的 Recordset 对象的类型。
在 Microsoft  Jet 工作区,如果不指定 type,DAO 将创建功能最全的 Recordset ,从表开始。如果该类型无效,DAO 将尝试动态集型,然后是快照型,最后是只向前型 Recordset 对象。

回复 支持 1 反对 0

使用道具 举报

推荐
发表于 2015-7-14 09:01:42 | 只看该作者
1、那个参数是可以忽略的。
2、那个参数不是说打开表是一种,打开查询又是另一种,而是一种游标类型。类似于ADO的游标类型:
名称
说明
dbOpenDynamic
16
打开动态集类型的记录集
dbOpenDynaset
2
打开动态集类型的记录集
dbOpenForwardOnly
8
打开仅向前类型的记录集
dbOpenSnapshot
4
打开快照类型的记录集
dbOpenTable
1
打开表类型的记录集

回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-5 23:23 , Processed in 0.086409 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表