设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[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空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
16#
发表于 2011-8-29 14:35:56 | 只看该作者
gaoshen
15#
发表于 2007-7-17 00:00:00 | 只看该作者
我正要找这个问题
14#
 楼主| 发表于 2004-8-6 16:10:00 | 只看该作者
窗体是一个数据表或连续窗体,有必要绑定,靠给控件赋值不行。
13#
发表于 2004-8-5 19:37:00 | 只看该作者
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

  rs.Open

rs.ActiveConnection = CurrentProject.Connection

Set Forms("udc").Recordset = rs  rs.AddNew

rs.Fields(1).Value = 1

rs.Update

Forms![udc].文本0.Value = rs.Fields(1).Value其中 Set Forms("udc").Recordset = rs 没有用.RS 可以在窗体上显示,没有必要绑定到窗体。

12#
 楼主| 发表于 2004-8-5 16:30:00 | 只看该作者
直接操作记录集出错,运行到rs.fields(1).value=1时提示“多步操作时产生错误,请检查每一步的状态值。”我的问题是这样的,我有一组类二维表的数据,这组数据没有(不能)存在ACCESS的表中,应此我要编辑这组数据时就临时产生一个记录集,再赋给窗体,在窗体中编辑后,再取出记录集的数据保存。这个问题的另一个解法是每次产生一个临时表,我不喜欢这种方法。
11#
发表于 2004-8-5 02:21:00 | 只看该作者
rs.AddNew

rs.Fields(1).Value = 1

rs.Update

Forms![udc].文本0.Value = rs.Fields(1).Value

我觉得窗体控件应该是后期绑定的.

更新RS应该利用窗体结合代码来更新.

可是这样一来, ME.RECORDSET=RS有什么用呢
10#
 楼主| 发表于 2004-8-4 23:09:00 | 只看该作者
多谢suredday, 第一个问题解决了,但接下来又有问题,打开的窗体的记录集不可更新,我设了rs.LockType = adLockOptimistic也没用,不知为何?
9#
发表于 2004-8-4 22:43:00 | 只看该作者
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

  rs.Open

rs.ActiveConnection = CurrentProject.Connection

  Set Forms("udc").Recordset = rs

8#
 楼主| 发表于 2004-8-4 22:20:00 | 只看该作者
原来的窗体没有RECORDSET,应此用ME.RECORDSET.NAME 有问题,提示对象没设置。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-24 05:11 , Processed in 0.163452 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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