设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 4779|回复: 10
打印 上一主题 下一主题

[ADO/DAO] 请教:如何用ADO的RecordSet对象引用当前窗体的记录集?

[复制链接]
跳转到指定楼层
1#
发表于 2002-8-18 19:59:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教:如何用ADO的RecordSet对象引用当前窗体的记录集?

以前我一直使用DAO的RecordSet对象引用当前窗体的记录集或记录集副本,例如:
Dim  Rst  As  Recordset
Dim  lngJLS   As   Long

Set Rst = ME.RecordsetClone‘记录集副本
   或 Set Rst = ME.Recordset
lngJLS = Rst.RecordCount '读取窗体中的记录数
Rst.Close

现在,我想把DAO代码转换成ADO,例如:
Dim lngJLS As Long
Dim Rst As New ADODB.Recordset

Rst.CursorType = adOpenDynamic
Rst.LockType = adLockBatchOptimistic

Set Rst = ME.Recordset
lngJLS = Rst.RecordCount '读取子窗体中的记录数
Set Rst = Nothing

可是运行时,总是系统提示:“运行时错误‘13’类型不匹配”。

我用下列代码查看了当前窗体的记录集属性,
Dim  rs  As Object
Set rs = ME.Recordset
If   TypeOf rs Is ADODB.Recordset Then
    MsgBox "ADO Recordset"
Else 'If TypeOf  rs Is DAO.Recordset Then
    MsgBox "DAO Recordset"
End If
则系统返回提示 “DAO Recordset”。也就是说,当前窗体记录集的默认属性是DAO型。
我将DAO 的引用去掉后再试,结果还是一样。

请问高手、同仁,为什么窗体记录集的默认属性总是DAO型?如何才能使用ADO 的RecordSet对象引用当前窗体的记录集或记录集副本,而使它们类型匹配呢?
我已经试了很多方式,就是解决不了问题,只好向大家请教了。拜托,为盼!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2002-8-18 20:46:00 | 只看该作者
不是的, me.Recordset是一个通用对象,只是因为你使用了jet的绑定,所以缺省就是DAO了,如果你想用它来存ado,使用下面方法
加载时
   Dim rs As ADODB.Recordset
   Set rs = New ADODB.Recordset
   With rs
       .ActiveConnection = CurrentProject.Connection
       .Source = "SELECT * FROM 你的表"
       .LockType = adLockOptimistic
       .CursorType = adOpenKeyset
       .Open
   End With
   Set Me.Recordset = rs

然后你后面引用的me.recordset me.resordsetclone即为ado
3#
发表于 2002-8-18 20:48:00 | 只看该作者

[求助]请问下怎样把工具栏做到ACCESS上的?

当前窗体记录集默认是DAO类型的,你可以改成ADO的,不过这样做的话,窗体将是只读的,即使你用ADO修改.除非你的窗体数据源基于Microsoft SQL Server 6.5或以后的应用.
4#
发表于 2002-8-19 00:31:00 | 只看该作者
TMTONY站长一向是如此的热心。
5#
 楼主| 发表于 2002-8-19 04:55:00 | 只看该作者
非常感谢 TMTONY站长和大熊版主!

    TMTONY站长的意思就是在建立窗体时,不用ACCESS提供的窗体向导指定窗体的记录源,而是在窗体加载事件中用ADO代码指定窗体的记录源,不论这个记录源是一个表或是一个选择查询。这样,窗体的记录源属性就是ADO了。我理解的对不对?
    另外,我还想请大熊版主赐教如何将窗体的记录源属性从DAO改为DAO?
6#
发表于 2002-8-19 05:00:00 | 只看该作者
???TONMY版主不是写给你了吗
7#
 楼主| 发表于 2002-8-19 06:54:00 | 只看该作者
哦!我晕头了!谢谢!
8#
发表于 2002-11-4 01:27:00 | 只看该作者
我也学了一招!
9#
发表于 2002-11-4 01:48:00 | 只看该作者
建议作为精华
10#
发表于 2011-9-16 06:26:35 | 只看该作者
虽然看不太懂,先复制,再f1
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-14 22:37 , Processed in 0.092526 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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