公司要我做一个进销存系统,其中有一个报表
数据库中有三个表
入货信息表(类别号,货物号,货物名,入货数量,入货金额,入货时间 )
出货信息表(类别号,货物号,货物名,出货数量,出货金额,出货时间 )
货物库存表(类别号,货物号,货物名,库存数量)
利用这三个表生成一个盘点报表  格式如下
      货物名 上月结余 本月总购进 本月总支出 本月结存 现存
       .
      小计
       .
       .
      总计货物有好几类,报表先要按类别分别对数量进行小计,最后还要合计
报表根据用户任意选择的时间段生成。 并不是要每个月的 
上月结存是  用户输入的开始日期时的库存数,要用sql语句算出
本月总购进和本月总支出 是用户输入时间段的每个货物的总进出总数
本月结存是  用户输入的结束日期的库存数,要用sql语句算出
现存是      货物库存表的库存数量,这个直接就给出了
我用vb中的Datareport和Recordset做了好几个星期,都弄不出来
用到好几个select语句,怎么把它们合成到一个Recordset传给Datareport?
或者用其他办法,真的很急了
小弟不才 我不会用什么水晶报表,还请高人指点。滴水之恩定当涌泉相报!

解决方案 »

  1.   

    上面的小计可以用select做出来,而最后的总计可以用sum函数啊,很简单的。或者你用最笨的办法来做好了,把每个数值给一个变量,最后总和,很笨很笨的办法哦,你可不要真的采用这个方法:)
      

  2.   

    大侠,上月节余和本月购进 现存 的时间段是不相同的 。用一个sql语句可以做出来
    你能不能指点一下? 如何写
      

  3.   

    盘点表都是需要保存的,所以你应该在数据库中创建一个盘点表和一个盘点明细表,将历次盘点数据都保存在里面。你的报表就从盘点明细表里面得到就好了。
    至于明细表的其他数据怎么得到,就比较简单了,你可以对该表进行多次的upadte操作,这些都在程序里面控制就好了。另外你报表里面的上月结余 本月总购进 本月总支出 本月结存 现存字段应该都要放在一个商品台帐表里面(也就是通常说的三级帐);所以可以从那个表里面取。
      

  4.   

    我可以给你一个思路:
    查询条件:日期>=A and 日期<=B
    1、group by 查询日期小于B+1的商品名称建立一个表1
    2、更新表1,统计出日期小于A的期末数据(入库-出库=库存)
    3、更新表1,统计出日期>=A and 日期<=B 的本期出入库数据(入库,出库)
    4、更新表1,库存量=期末数据+入库-出库