设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[ADO/DAO] ADO recordset 如何绑定 报表 数据源

[复制链接]
跳转到指定楼层
1#
发表于 2010-10-7 12:53:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xingzhihao 于 2010-10-7 12:57 编辑

ADO recordset 绑定窗体数据源没有任何问题,但是绑定报表数据源就出错
代码如下:
问题在哪里呢?
            DoCmd.OpenReport "封面", acViewPreview
           str = "SELECT 个人一般情况表.* FROM 个人一般情况表 WHERE (((个人一般情况表.个人编号)='" & Forms![个人信息浏览]!grbh & "'));"
          Rs.Open str
          set  reports![封面].recordset=rs
          Rs.Close

提示“在MDB中该功能不可用。”

期望大侠指点一二。谢谢了
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2010-10-7 12:57:05 | 只看该作者
DoCmd.OpenReport "封面", acViewPreview
这个后面本来就有一个条件的.不需要这样去绑定的.
3#
 楼主| 发表于 2010-10-7 12:59:22 | 只看该作者
回hjb016版主
因为需要远程访问数据,必须采用ADO的方法,代条件的方法怎么支持ADO记录集呢?

点击这里给我发消息

4#
发表于 2010-10-7 13:40:11 | 只看该作者
报表不能绑定记录集,可在报表的打开事件中设置RecordSource属性为需要的SQL语句。

点击这里给我发消息

5#
发表于 2010-10-7 13:46:53 | 只看该作者
MDB在报表中只支持DAO方式 ,ADP才支持ADO
可用以下方式
在报表open事件中增加
Dim db As DAO.Database
    Dim rs As DAO.Recordset
   
    Set db = CurrentDb
   
  
    Set rs = db.OpenRecordset("邮件列表2", dbOpenDynaset)
    Me.RecordSource = rs.Name

点击这里给我发消息

6#
发表于 2010-10-7 14:00:17 | 只看该作者
回复 tmtony 的帖子
  Set rs = db.OpenRecordset("邮件列表2", dbOpenDynaset)
    Me.RecordSource = rs.Name
还不如直接 Me.RecordSource = "邮件列表2",

即使用DAO,Set Me.Recordset = rst  这样好象也是不行的。


   

点击这里给我发消息

7#
发表于 2010-10-8 10:42:29 | 只看该作者
回复
  Set rs = db.OpenRecordset("邮件列表2", dbOpenDynaset)
    Me.RecordSource = rs.Name
还不如 ...
t小宝 发表于 2010-10-7 14:00


是的,你说得有道理, 虽然使用DAO是可以的,便还不如直接 设置数据源为表. 但如果在其它地方有一个RS要传递过来,则可能会用得上.

总之, 将Access当成VB只做客户端,不使用绑定的方式的话,在报表上还是会遇到不少问题
8#
 楼主| 发表于 2010-10-7 17:57:24 | 只看该作者
感谢各位老大的热心帮助,看来这个确实是MDB的缺点了
9#
 楼主| 发表于 2010-10-8 21:06:37 | 只看该作者
呵呵,我用迂回的办法解决了,就是先用ADO 把远程数据写入本地表,作为报表的数据源。实践通过。
再次感谢!

点击这里给我发消息

10#
发表于 2010-10-8 23:07:14 | 只看该作者
回复 tmtony 的帖子

原来这个用法。
ACCESS的报表如果直接支持记录集就更强大了。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 00:28 , Processed in 0.111468 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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