如何根据数据库查询结果,确定动态显示的列。

数据库中有表1和表2,表1中有A,B,C,E,F,G,H列。现要制作一张与A相关的查询报表,其中A,B,C列固定显示,其余列。根据表2查询的结果集中某个字段比如RID的值,来决定是否显示。若查询的结果集中distinct(RID)的值有E,G,则制作的查询报表在A,B,C后面显示E.G列,表1中的剩余列则不显示,如何实现。即根据数据库查询结果,确定动态显示的列。求教。

动态sql组织好以后,也不知道到底最后是哪些列被查询出来了,那样的话,在模板设计中怎么设计。未使用动态sql的时候,我是这样想的。建立两个报表数据集,ds1,ds2(分别是select * from 表1;from 表2),然后标题中ABC列后面,直接用ds2.S(RID) 从左到右扩展。这样标题就动态产生了。但是不知道动态标题下面对应的数据该用什么公式写。按理可以用ds1.G(此行标题所在单元格的值)或者ds2.S(此行标题所在单元格的值).此行标题所在单元格的值,就是表1中该列的名称。但是不行。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-22
网上FR关于动态列的介绍,主要是两种,一种是遍历所有的列,另一种是通过可复选的combobox确定显示的列。而我的需求是,根据数据库表中的数据确定显示哪些列,而且显示的列顺序也有要求。本次接触FR时间很短,上述问题如果太白痴,请见谅。
第2个回答  2013-09-22
在数据库查询的结果上再做精确的查询
相似回答