我在 VS 2003 下的 Crystal Reports 中的 Sum 字段存在问题。我正在使用 VS 2003 和 Crystal Reports 生成一个报表,其中包含从 SQL Server 2000 数据库检索的数据,并在运行时保存在强类型数据集中。
数据集包含几个表,其中一个是orders表,它接收 SQL 查询的结果,该查询连接来自两个不同表的记录。在运行期间检查订单表的内容后- 就在将数据集传递给 Report 对象之前,我已经验证了相关的 SQL 查询工作正常,始终从数据库返回预期的数据。
对数据集进行迭代,每次迭代将针对不同 orderID 执行的 SQL 查询的结果合并到数据集中。SQL 查询还从与每个 orderID 相关的其他表中检索记录,并将它们放入数据集中的适当表中(orders除外)。
当我尝试将特定列(orders.order_amount列)求和到 Crystal Report 时,就会出现问题。我得到的总和是不正确的。
例如,orders表在绑定为报表的数据源时包含 3 条记录,每条记录的order_amount = $10.00。sum 字段的值不是返回 $30.00,而是 $50.00。
我看不出这是怎么发生的,我认为这要么是由于 Crystal Reports 中的错误,要么是由于我的报告中缺少项目。数据集已正确填充,但似乎 Crystal Reports 以某种方式将基于orderID检索到的相关记录混淆为订单表的记录,并添加到order_amount总和中。
如果我禁用填充相关记录的 SELECT 语句,则order_amount总和将正确显示。
有人知道为什么会这样吗?提前致谢。
射线