用Datareport把msflexgrid里的数据打印出来

sunmoonn 2004-06-09 02:13:43
打印还是搞不明白。而且有很多的地方的都要用到打印。
我想搞的打印为:
数据全部在msflexgrid中显示,其中可能会有100多记录或更多。
表1=学生资料,表2=成绩
Private conn As New ADODB.Connection
Private rs As New ADODB.Recordset
Private rs1 As New ADODB.Recordset

sqlstr="select * from 表1 where name='" & text1.text & "'"
rs.open sqlstr ,conn
sqlstr="select * from 表2 where name='" & text1.text & "'"
rs1.open sqlstr, conn ,3,3
''''''''连接

MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 0) = rs.Fields.Item(1).Value
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 1) = rs.Fields.Item("语文").Value
.
.

MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 5)=MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 3)+MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 4)

现在我想用Datareport把msflexgrid里的数据打印出来,但是我不知道怎么把grid里的数据邦到Datareport上打出来.因grid里的数据是来自不表的两个表,还有一些是通过grid自身的值计算得来的。并且每页只打印30条记录,请指教!
...全文
236 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lca0127 2004-06-18
  • 打赏
  • 举报
回复
请问楼主是如何搞定的呀
utilguy 2004-06-11
  • 打赏
  • 举报
回复
学习
smartdp 2004-06-11
  • 打赏
  • 举报
回复
我使用msflexgrid控件为什么提示我没有使用Active控件的许可证?
sunmoonn 2004-06-11
  • 打赏
  • 举报
回复
这个问题算是搞定了。
现在我的另一个问题是
在报表中,注脚的sum()里的字段必须是数值型的吗?
现在我要用sum()进行统计,可我的表,在设计的时候把字段设成nvarchar了,无法统计。
各位有什么办法吗?
sunmoonn 2004-06-09
  • 打赏
  • 举报
回复
grid中的数据是第1.2.列的数据是表1里的,第3列是表2 的,第4列是4=1+2-3得到的
myhot-河马吃草 2004-06-09
  • 打赏
  • 举报
回复
用别的控件vsflex8.0可以直接打印的。
wumylove1234 2004-06-09
  • 打赏
  • 举报
回复
我想应该可以将你在GRID中做的运算用SQL语句实现吧.不妨试试.
要不你写详细点.
你查询的结果是怎么样的,运算后是什么样的.
再不行写临时表吧.
我的程序中也是用这样的办法.
sunmoonn 2004-06-09
  • 打赏
  • 举报
回复
楼上的...你的方法和我的同事一个样,是笨了一点,不过这样数据不容易出错,但我想要的办法应该有点像“射天狼”的吧。可是“射天狼”的方法还是离我的想要的有点差距。那就是grid里有一些不是“表”里汇总出来的,是由某列与某列互相运算得到的。我就是不知道表里没有的数据怎么帮到datareport里去。
XinQI 2004-06-09
  • 打赏
  • 举报
回复
我有一个笨法,你可以在数据库里建一个表,然后把MSFlexGrid里的内容传到表中,再用一个rs连接这个表,这样就可以设报表的datasource属性为rs,即可。
射天狼 2004-06-09
  • 打赏
  • 举报
回复
Option Explicit

Dim adoConnectionX As New ADODB.Connection
Dim adoRecordsetX As New ADODB.Recordset

Private Sub DataReport_Initialize()
'printer.Orientation =
'以下准备数据源(记录集)
'要打印的数据源(记录集)必须是一个全局级别的,或者是本设计器模块级别的记录集

'数据库使用的是 Northwind.mdb
adoConnectionX.Open "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & App.Path & "\Northwind.mdb"
adoRecordsetX.Open "select * from 产品", adoConnectionX '在此写你查询的SQL语句

Set DataReport1.DataSource = adoRecordsetX '设置 DataReport 的数据源

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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