设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: CHENZHIRONG
打印 上一主题 下一主题

[ADO/DAO] ADO recordset 与窗体的记录集

[复制链接]
跳转到指定楼层
1#
发表于 2004-8-3 21:14:00 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
我创建一个ADO的recordset,然后赋给窗体的记录集,居然报错,是ACCESS的窗体不接受这种recordset吗?

Dim rs As ADODB.Recordset

  Set rs = New Recordset

  DoCmd.OpenForm "UDC"

  rs.CursorLocation = adUseClient

  rs.Fields.Append "ID", adNumeric

  rs.Fields.Append "Option", adBSTR

  rs.Fields.Append "OptionDescription", adBSTR

  rs.Fields.Append "HardCode", adBSTR

  Set Forms("udc").Recordset = rs

在最后一句 set 窗体 .recordset=rs 报错,“输入的对象不是有效的RECORDSET属性”
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2004-8-4 17:05:00 | 显示全部楼层
不是这个原因,我用以下代码通过:Set rs = New Recordset

  rs.CursorLocation = adUseClient

  rs.Open "UserDefineCode", CurrentProject.Connection, adOpenDynamic, adLockPessimistic, adCmdTable

  DoCmd.OpenForm "UDC"

  Set Forms("udc").Recordset = rs关键是一定要设CursorLocation = adUseClient,这个在ACCESS帮助中有说明。
3#
 楼主| 发表于 2004-8-4 22:20:00 | 显示全部楼层
原来的窗体没有RECORDSET,应此用ME.RECORDSET.NAME 有问题,提示对象没设置。
4#
 楼主| 发表于 2004-8-4 23:09:00 | 显示全部楼层
多谢suredday, 第一个问题解决了,但接下来又有问题,打开的窗体的记录集不可更新,我设了rs.LockType = adLockOptimistic也没用,不知为何?
5#
 楼主| 发表于 2004-8-5 16:30:00 | 显示全部楼层
直接操作记录集出错,运行到rs.fields(1).value=1时提示“多步操作时产生错误,请检查每一步的状态值。”我的问题是这样的,我有一组类二维表的数据,这组数据没有(不能)存在ACCESS的表中,应此我要编辑这组数据时就临时产生一个记录集,再赋给窗体,在窗体中编辑后,再取出记录集的数据保存。这个问题的另一个解法是每次产生一个临时表,我不喜欢这种方法。
6#
 楼主| 发表于 2004-8-6 16:10:00 | 显示全部楼层
窗体是一个数据表或连续窗体,有必要绑定,靠给控件赋值不行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-25 04:20 , Processed in 0.078644 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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