VB6总结VII之水晶报表2

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

一.报表的默认格式是竖直的,如果数据结构非常多,需要变成水平的报告,只需要去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.上图中总结的部分里的计算是比较复杂的部分




评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值