很简单的两句代码,各位帮忙看看好吗?(报表数据源连接问题,在线等待佳音!)

swots 2002-11-01 10:33:34
rptshebei.DataSource = Deshebei(Deshebei是Data Environment)
rptshebei.DataMember = search (search是DECommand,是通过SQL语句进行连接的,而SQL语句是在查询过程中自动生成的查询条件,我定义了一个公共变量strSlqs来调用它)
rptshebei.Show
程序运行到第一句时,光标停在DataSource 上,提示错误:未找到方法或数据成员
到底什么原因呢?
另外:我是通过动态查询数据库,然后将查询出的结果(DataGrid控件显示出来)用报表打印出来,以上三句代码就是我在结果显示窗口的“打印”按扭上添加的代码,这种方法不对吗?
...全文
34 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
swots 2002-11-08
  • 打赏
  • 举报
回复
to 幻想无限:
我已经看到你的邮件了 谢谢你,^_^ !
我的动态查询打印问题已经解决,我现在的问题是:我查询出的数据字段很多,所以每次运行程序时就提示:报表宽度大于纸张宽度。我不知道怎么解决这个问题?
也希望各位高手能不吝赐教!
mouseanAnya 2002-11-07
  • 打赏
  • 举报
回复
to swots(欲知)

你发的代码我帮你修改了,到信箱看看
可以实现你要的效果了
swots 2002-11-01
  • 打赏
  • 举报
回复
tomousean(幻想无限) : 不行呀,set rptshebei.DataSource = Deshebei.rssearch 按你的说法做了之后他提示:要求对象,光标停在rssearch上
mouseanAnya 2002-11-01
  • 打赏
  • 举报
回复
去掉:rptshebei.DataMember = search
mouseanAnya 2002-11-01
  • 打赏
  • 举报
回复
还是要使用我的方式:
set rptshebei.DataSource = Deshebei.rssearch
在SET 前,Deshebei.rssearch 要先根据你的strSlqs提取到记录
再试试。。。
呵呵,应该没什么问题了
swots 2002-11-01
  • 打赏
  • 举报
回复
我也感觉不太对头哟:),谢谢你帮忙再看看!我是要动态的根据形成条件查询,然后查询出的结果在datagrid控件显示出来,最后点“打印”按扭进行打印?
mouseanAnya 2002-11-01
  • 打赏
  • 举报
回复
错!!!!
错!!!!
你用的方式跟我的不一样,没看清,,对不住,实在对不住。。。
我再看。。。
mouseanAnya 2002-11-01
  • 打赏
  • 举报
回复
if Deshebei.rscommand1.state=adstateopen then
Deshebei.rscommand1.close
end if
Deshebei.rscommand1.datasource="select * from yourtable"''提取要打印的记录
Deshebei.rscommand1.open
swots 2002-11-01
  • 打赏
  • 举报
回复
to mousean(幻想无限) :你的意思是?
我将 rptshebei.DataSource = Deshebei改成了:
Set rptshebei.DataSource = Deshebei
上面的错误就没有了,但是弹出的报表是空表,提示错误变为:从当前数据资源中取得行值失败,请问什么原因?(报表方面是否要做什么工作?)
另外:我的报表上要添加控件吗。但是我的查询打印是动态的,请问报表也要进行动态的设置吗?如果要,那么如何实现动态设置呢?
mouseanAnya 2002-11-01
  • 打赏
  • 举报
回复
Deshebei.rscommand1
rptshebei.DataSource 是要打印的数据集合,这个集合通过数据环境的一个记录集提取记录得到

rptshebei.DataSource是数据环境的一个记录集而不是数据环境本身

swots 2002-11-01
  • 打赏
  • 举报
回复
to AM_WJ(AM) :
DataReport1.Sections.Item("Section1").Controls.Item ("Text1").DataField = rdt.Fields.Item(0).Name 你这段代码是设置报表,使其将查询出来的数据库结果显示在报表中吗?
AM_WJ 2002-11-01
  • 打赏
  • 举报
回复
应该用记录集对象和报表对象绑定这才是报表的正确方法代码如下:
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb;Persist Security Info=False"
rdt.Open "select a from 表1 where b='b'", cnn, adOpenStatic, adLockOptimistic
Set DataReport1.DataSource = rdt
DataReport1.Sections.Item("Section1").Controls.Item("Text1").DataField = rdt.Fields.Item(0).Name
DataReport1.Show
mouseanAnya 2002-11-01
  • 打赏
  • 举报
回复
我帮你修改好了,发到你的信箱了
主要是你的search属性设置不对,没有选中“返回记录集”,不属于数据环境的记录集,当然得不到记录
看看我帮你修改的代码,还有打印的report,帮你做了一点,主要让你看看效果和方法,真正完成还是要靠你自己

希望早日解决问题
^_^!
swots 2002-11-01
  • 打赏
  • 举报
回复
我发了五次!!!!你收了四个多小时!!!!!!
这叫好事多磨:)
但愿最终能够解决问题
mouseanAnya 2002-11-01
  • 打赏
  • 举报
回复
收了四个多小时,,终于收到了,,,
见鬼的网络!!!
swots 2002-11-01
  • 打赏
  • 举报
回复
to dai_er(daier) :
你做的也是动态查询吗,做出来了吗?能否给点代码实例我看看呢?谢谢!
dai_er 2002-11-01
  • 打赏
  • 举报
回复
在DataEnviroment1中添加一个command,写代码
DataEnv.Commands(1).CommandText = "select * from 库名"在datareport的属性里给出datasource和datamember,就可以了。
我也正在做这种查询报表,还有什么问题可以交流一下。
swots 2002-11-01
  • 打赏
  • 举报
回复
我已经发到你邮箱去了
mouseanAnya 2002-11-01
  • 打赏
  • 举报
回复
不可能
把这个打印窗体和datareport发我信箱,我帮你看看
mousean@163.com
swots 2002-11-01
  • 打赏
  • 举报
回复
没有MSN帐号:(!,只有OICQ:33565728和邮箱vccf@sina.com
search 是我建好的命令,在它的属性窗口里的SQL选项文本框内我放的是strSqls
它是在执行查询时生成的SQL查询条件(string变量),我在查询之后,这个变量应该把值传给了search
加载更多回复(2)

809

社区成员

发帖
与我相关
我的任务
社区描述
VB 多媒体
社区管理员
  • 多媒体
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧