一.报表的默认格式是竖直的,如果数据结构非常多,需要变成水平的报告,只需要去menu→file→printer setup,把Portrait改为Landscape即可
二.在水晶报表的design页面
1.把只需要显示一次的信息放在title部分,比如姓名、国籍、住址、电话等。
只要把需要的数据库的表添加进来,表和表的关系对应好,用insert database field工具把需要显示的信息添加上就好。
2.如果有数据信息不可以直接引用,可以使用formula
时间格式的formula:
if not isnull({foreigner.date_birth}) then
{foreigner.date_birth} [9 to 10] + "/" + {foreigner.date_birth} [6 to 7] + "/" + {foreigner.date_birth} [1 to 4]
else
'--'下拉列表的formula:
if not isnull({foreigner.sex}) then
if {foreigner.sex}='M' then
'Male'
else if {foreigner.sex}='F' then
'Female'
else
'--'3.出生国家、国籍、种族的显示
这三个信息都是用的同一个代码表,只是对应表中不同的type值,所以需要添加三次代码表,系统会提示给同一个表重新命名以示区分,然后再用insert database field工具把需要显示的信息对应添加上。
但如果只这样的话,detail部分里的信息会是正常显示的3倍,所以采用下列操作
menu→report→edit selection fomular→record,并写入以下语句
{code_item_m.code_type}='CN' and {code_Nationality.code_type}='NA' and {code_race.code_type}='RA'4.数据表的连接关系如图
5.需要重复显示的信息用insert database field工具添加到detail部分
6.还有一些特殊情况,比如detail部分的信息需要分组,一个case会有很多log,case结束后需要总结一些信息,然后继续显示下一个case的多个log
这样需要分组,外面的组即#1,按照case的区分关键词分组,里面的组即#2,按照log的区分关键词分组。
需要重复的log信息放在detail部分,page header放列名,#1header部分放case的关键信息,#1footer部分放总结的信息。
7.上图中总结的部分里的计算是比较复杂的部分

本文介绍了如何将水晶报表从默认的竖直格式调整为水平格式,以及设计过程中的关键步骤,包括数据表的连接、信息分组和公式应用。通过设置Printer Setup实现横版布局,利用Formula处理复杂数据格式,如时间格式和下拉列表。在报表设计中,将静态信息置于Title,动态数据放入Detail,通过Edit Selection Formula进行记录筛选。此外,还详细阐述了如何进行分组显示,以展示case和log的汇总信息。
1682

被折叠的 条评论
为什么被折叠?



