Crystal reports Crystal:作为回退的默认值(来自数据库)
我们计划使用CR2013为客户创建发票和其他文档。Crystal reports Crystal:作为回退的默认值(来自数据库),crystal-reports,report,Crystal Reports,Report,我们计划使用CR2013为客户创建发票和其他文档。 报告生成将由JAVA调用启动 在genral中,所有文档都具有相同的基本布局,但对于我们的一些客户,我们需要在文档的页脚中添加特殊文本 想法是,有3张桌子: 顾客 发票数据 自定义文本 所有三个表都可以通过customer\u id进行升级和连接 自定义文本现在应该包含一行customer\u id=0,如果未提供特定于客户的文本,该行将作为后备行 例如: Custom-Texts ID | customer_id | Footer
报告生成将由JAVA调用启动 在genral中,所有文档都具有相同的基本布局,但对于我们的一些客户,我们需要在文档的页脚中添加特殊文本 想法是,有3张桌子:
- 顾客
- 发票数据
- 自定义文本
customer\u id
进行升级和连接
自定义文本现在应该包含一行customer\u id=0
,如果未提供特定于客户的文本,该行将作为后备行
例如:
Custom-Texts
ID | customer_id | Footertext 1 | Footertext 2
- - - - - - - - - - - - - - - - - - - - - - - - -
0 | 0 | Defaulttext | Defaulttext
1 | 44 | Special Text | Special Text
2 | 78 | Special 2 | Special
因此,对于id为44和78的客户,采用特殊文本,对于所有其他客户,采用id=0
中提供的文本
这可能吗?我们该怎么做?在页脚中创建一个公式,并编写下面的代码。下面的代码假定
默认文本
和特殊文本
都来自数据库
if customer_id=0
then Footertext 1
else Footertext 1
上面的代码将id与0进行比较,如果是,则返回默认文本,如果否,则返回特殊文本
对Footer2也遵循相同的过程
编辑---------------------------------------
在页脚中放置一个子报告
在该子报告中,创建一个具有客户ID的组,并将下面的公式放在详细信息部分
Footertext 1
现在只需在子报表中显示详细信息,并抑制所有其他部分。这真的有效吗?我们永远不会有id=0的客户,因为0代表所有未单独指定的用户(如示例中的id=44)。因此,客户44将获得Specialtext,而所有其他客户将获得默认。。。。我需要通过额外的原因id来扩展此列表。如果您从未获得id=0的客户,则您的控件将始终转到其他部分,并显示所需的数据。我刚刚编辑了描述,以更清楚地说明,我们可能有数百个针对不同id的特殊文本。