打印还是搞不明白。而且有很多的地方的都要用到打印。
    我想搞的打印为:
    数据全部在msflexgrid中显示,其中可能会有100多记录或更多。
表1=学生资料,表2=成绩
Private conn As New ADODB.Connection
Private rs As New ADODB.Recordset
Private rs1 As New ADODB.Recordsetsqlstr="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条记录,请指教!

解决方案 »

  1.   

    Option ExplicitDim adoConnectionX As New ADODB.Connection
    Dim adoRecordsetX As New ADODB.RecordsetPrivate 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 的数据源
      

  2.   

    我有一个笨法,你可以在数据库里建一个表,然后把MSFlexGrid里的内容传到表中,再用一个rs连接这个表,这样就可以设报表的datasource属性为rs,即可。
      

  3.   

    楼上的...你的方法和我的同事一个样,是笨了一点,不过这样数据不容易出错,但我想要的办法应该有点像“射天狼”的吧。可是“射天狼”的方法还是离我的想要的有点差距。那就是grid里有一些不是“表”里汇总出来的,是由某列与某列互相运算得到的。我就是不知道表里没有的数据怎么帮到datareport里去。
      

  4.   

    我想应该可以将你在GRID中做的运算用SQL语句实现吧.不妨试试.
    要不你写详细点.
    你查询的结果是怎么样的,运算后是什么样的.
    再不行写临时表吧.
    我的程序中也是用这样的办法.
      

  5.   

    用别的控件vsflex8.0可以直接打印的。
      

  6.   

    grid中的数据是第1.2.列的数据是表1里的,第3列是表2 的,第4列是4=1+2-3得到的
      

  7.   

    这个问题算是搞定了。
    现在我的另一个问题是
    在报表中,注脚的sum()里的字段必须是数值型的吗?
    现在我要用sum()进行统计,可我的表,在设计的时候把字段设成nvarchar了,无法统计。
    各位有什么办法吗?
      

  8.   

    我使用msflexgrid控件为什么提示我没有使用Active控件的许可证?