如果做报表的话,有一项要求,就是自动显示的报表中某一项,
第三条的值 是用第一条的值减第二条的值得来的。
第四条的值,是用第二条减第三条得来的,
依次类推。
这个应该怎么实现呢,能实现吗? 
不明白,请教...

解决方案 »

  1.   

    首先用SQL语句来实现,然后建立记录集,再将报表绑定记录集
      

  2.   


       我是¥木瓜¥ 刚加你QQ
       欢迎访问 www.Emugua.net
      

  3.   

    给你一个思路:(使用mshflexgrid显示查询结果)
    表:table
    字段:品种,数量1,金额1,数量2,金额2,数量合计,金额合计显示结果的表格式如下表格列号  0     1      2      3      4      5      6       7         8
            品种,数量1,单价1,金额1,数量2,单价2,金额2,数量合计,金额合计---------------------------------
    要求:单价1=金额1/数量1
          单价2=金额2/数量2
         数量合计=数量1+数量2
         金额合计=金额1+金额2
    ------------------------------------
    部分代码如下,没有测试,只供参考Private Sub Command1_Click()
     Dim conn As New ADODB.Connection
     Dim rs As New ADODB.Recordset
     conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;DataSource=d:\data.mdb"      
     rs.open "select sum(品种)as pz,sum(数量1)as sl1,sum((金额1/数量1)) as dj1,sum(金额1)as je1,sum(数量2) as sl2,sum((金额2/数量2)) as dj2,sum(金额2)as je2,sum((数量1+数量2)) as sumsl,sum((金额1+金额2)) as sumje from table group by 品种",conn,3,3
     set mshflexgrid.datasource=rs
     for i=0 to mshflexgrid.rows-1
     with mshflexgrid
          .textmarry(i,2)=.textmarry(i,3)/.textmarry(i,1)
          .textmarry(i,5)=.textmarry(i,6)/.textmarry(i,4)
          .textmarry(i,7)=.textmarry(i,1)+.textmarry(i,4)
          .textmarry(i,8)=.textmarry(i,3)+.textmarry(i,6)
    end with
    -------------------------------------------
    以上代码可能有错,只供参考思路。
      

  4.   

    55005768(愉乐) 16:43:05
    dim i as integer 
    55005768(愉乐) 16:44:08
    if i = 1 or i = 2 then
      item(i)= 你的实际值
    end if  
    55005768(愉乐) 16:45:02
    for i = 3 to count 
      item(i) = item(i-2)-item(i-1)
    next i 
    55005768(愉乐) 16:45:11
    可以了吧  呵呵