如何汇总Crystal Reports 8.01中的所有记录

时间:2012-01-30 07:45:55

标签: sql-server vb6 crystal-reports

我遇到了如何对Crystal Reports 8.01中的所有记录求和的问题。我正在使用VB6。

example:
date             tools               in              out              
1/19/2012       stone               100              0
1/20/2012       stone                50              0
1/21/2012       stone                30              0
1/25/2012       stone                 0              40
1/26/2012       stone                 0              20

total in  until now : 180
total out until now :  60

我在VB 6中使用以下代码:

With CrystalReport1
 .SelectionFormula = "{stock.dates} >= #" & Format(DTPicker5.Value, "yyyy-mm-dd") & "#        and {stock.dates}<= #" & Format(DTPicker6.Value, "yyyy-mm-dd") & "#"

End With

在Crystal Reports中,使用公式编辑器:

Sum ({stock.in}) ==> for total in
Sum ({stock.out}) ==> for total out

当我运行日期2012年1月19日至2012年1月26日时,结果是:

total in until  now : 180
total out until now :  60 its true

但是当我在2012年1月20日至2012年1月26日之间运行日期时,结果为:

 total in  until now : 80 (the value is change)
 total out until now : 60

如何使总和的价值从选择日期开始到最后一个日期不变?

1 个答案:

答案 0 :(得分:0)

您至少有两个选择:

  1. 创建一些存储过程,能够计算任何日期的总余额并在报告中使用该过程
  2. 不要根据日期过滤记录(即没有设置selectionformula),而是显示旧记录;你需要使用一些参数将这个日期转发给水晶对象(慢,但有时只有可能)