水晶报告 - 根据数据库参数多次生成报告

问题描述 投票:0回答:1

如果您在查找如何根据数据库条目中的列值多次生成水晶报告时遇到问题:例如您想根据订单中的数量打印产品标签,其中订单包含数量列。

sql crystal-reports sage-300
1个回答
0
投票

我的方法是首先在 MSSQL 中使用以下代码在我的 SQL 数据库中创建一个数字表:

create table numbers (number int);

insert into numbersGFM(number)
select top 2000 row_number() over(order by t1.number) as number
from   master..spt_values t1 
       cross join master..spt_values t2;

上面创建了一个数字表,其值范围为 1-2000。如果您愿意,您可以随时手动指定每一行...

Crystal Reports (CR) 中的技巧是使用新分组并隐藏新分组创建的部分。基本上,您创建一个新的分组,然后在部分专家中您可以指定要抑制该组的部分,因此仅显示您想要的实际报告,因为其他部分只是要重新打印报告的虚拟部分。

为此,您需要将数字表添加到 CR 连接并链接数据库中的参数,该参数保存要重新打印报告的数量。在此示例中,我将使用“ORDQTY”作为 SQL 表中的列,该表保存订单的产品数量。因此,我会将包含“ORDQTY”的表链接到“numbers”表中的“number”列。然后,您需要指定您希望对 >= 进行连接,以便您从“numbers”表中为每个小于或等于“ORDQTY”的“number”获取一个条目。最后一步是添加条件 {ORD.ORDQTY}>={numbers.number} (其中我使用“ORDQTY”位于“ORD”表中),然后在组专家中添加分组(我在组中每次更改后都指定了一个新页面)

希望这可以帮助任何陷入我几天来同样问题的人!感谢 SAP 提供了这款非常漂亮的软件,它非常直观且易于使用!

© www.soinside.com 2019 - 2024. All rights reserved.