今天在做水晶报表时,遇到了两个问题
一个是预览显示的问题
一个是详细数据显示不全的问题
首先说明第一个问题
数据库中表结构简写如下
Move_Head (Request_No int ,Remark ntext);
Move_Detail(Request_No int ,Code varchar(6));
Move_Head中有一条数据 20101015ID,'报表测试'
Move_Detail中有2条数据20101015ID '01'
我们都知道水晶报表有个报表页眉,页眉,详细资料,报表页脚 ,页脚 五个默认节。
第一个问题是显示问题建立过程首先新建一个xsd文件命名为Move.xsd,连接数据库找到Move_head和Move_Detail表
然后新建一个水晶报表 move.rpt在水晶报表上右击 数据库专家找到Move.xsd 对move.rpt进行拖拉要显示的字段
实验一:把move_Head中的Request_No, remark字段拖放到报表页眉中,预览有数据 成功
实验二:在试验一的基础上拖放move_Detail中的Code字段放到详细资料中,预览无数据,不成功。
分析:这里move_Detail是细表,应该是有2条数据的。但是为何加了这2个字段后导致整个预览界面不显示数据呢原来原因在于对move.rpt连接数据库专家时会有一个界面如图:
这里要点【清除连接】 再次预览成功。
第二个问题是详细数据显示不全的问题总是显示move_Detail中的第一条数据分析各个地方都设置正确了,最后发现问题在于自己写的一个公式字段导致。如下是对Move_detail中的code字段写的一个公式即获取对应的名字
上述公式编写保存依然能够成功,但是会始终详细资料中显示第一条数据,原因就在这个公式的书写中,
应该如下图
要有else判断
如上解决第二个问题
特此放到这里以备后用。