当前位置:编程学习 > C#/ASP.NET >>

水晶报表查找数据问题

现有两张表A和B
表A   姓名   结账方式    实际结账方式
      张三       1             1
      李四       1             2
      张明       2             3

表B   方式编号    结账方式描述
        1            Cash
        2            Card
        3            Free

在水晶报表中会筛选出表A中的数据。但是结账方式和实际结账方式我希望能够显示表B中编号对应的结账方式描述的内容。这个应该怎么做公式呀?谢谢各位了。 --------------------编程问答-------------------- 你直接拉的表A到水晶报表中的?  --------------------编程问答-------------------- 是的。我是用水晶报表直接连到数据库的。没有使用C#什么的调用实现。有没有好办法呀。 --------------------编程问答-------------------- 为撒不在App_Code里建个 DataSet  然后在里面建个Table 添加你要字段。

然后水晶报表就拉DataSet 里,你建的Table 。

然后根据结账方式用SQL语句 把A,B两表连接起来。
最后将SQL返回的结果给DataSet 中的Table 就成了。 --------------------编程问答-------------------- 如果你没写代码的话,把表B也拖到报表里去,设置表A和表B的关联关系
然后报表上用表B的字段代替表A对应的那个字段就可以了

参考下图设置
--------------------编程问答-------------------- 楼主,如果关系简单
1.可以用程序处理数据
2.可以做dataset
3.可以做实体类

当然阿泰的是最直接的,直接与数据库交互

记得要及时结贴 --------------------编程问答--------------------

又学一招 --------------------编程问答--------------------
引用 4 楼 babyt 的回复:
如果你没写代码的话,把表B也拖到报表里去,设置表A和表B的关联关系
然后报表上用表B的字段代替表A对应的那个字段就可以了

参考下图设置

谢谢阿泰。不过这样是说我要把表A里的两个字段都做关联到表B吗?因为表A和表B之间没有主键。表B只是用来解释表A中两个字段数字的含义。 --------------------编程问答-------------------- 不一定非要物理主键才能关联。
只要保证A和B之间有业务关系就行了,也就是说有业务关系上的“主键”也可以 --------------------编程问答--------------------
引用 8 楼 babyt 的回复:
不一定非要物理主键才能关联。
只要保证A和B之间有业务关系就行了,也就是说有业务关系上的“主键”也可以

我做了关联。不过显示是空白的。没有数据。是不是因为我要同时显示结账方式和实际结账方式,但是关联到同一主键上导致的?或者在水晶报表的公式中有没有什么能够遍历表B的方法。我做个公式字段 --------------------编程问答-------------------- 如果B表数据固定且不经常发生变化,才有可能用公式。而且也不是“直接遍历B表”,否则就只能关联
你一个表上对另一个表进行了两个关联,应该是不对的,这样的话,可以考虑再引入一个B表。分别跟A表的两个字段各自关联

补充:.NET技术 ,  图表区
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,