7

我正在尝试根据一个查询为我的报告实现以下布局。

+----+-------+----+-------+
| ID | Name  | ID | Name  |
+----+-------+----+-------+
|  1 | Danny |  2 | Dave  |
|  3 | Sue   |  4 | Jack  |
|  5 | Rita  |  6 | Sarah |
+----+-------+----+-------+

所以我基本上想要一张表格,从左到右打印我的数据以节省页面空间,而不是打印一行并浪费纸张右侧的所有空间,甚至可能跨越宽度的 3 倍。

这是我的数据:http ://sqlfiddle.com/#!3/5c911/1

我可能在想一张有 4 列的表格。第 1 列和第 2 列包含奇数行号,第 3 列和第 4 列包含偶数行号。

我怎么能做到这一点,我确实尝试了 MOD 功能,但它似乎无法正常工作,或者我误解了正在发生的事情。

相关: 如何在报表设计器中并排显示两行数据?

谢谢,

4

2 回答 2

8

要以多列格式从左到右打印数据,您需要使用多个表来伪造它。要实现此技巧,请创建与您想要并排的列相同数量的表,这些表都指向您的数据集。在第一个表的 Detail 行上,对于 Visibility-Hidden 属性,使用以下公式:

=IIF((RowNumber(Nothing) Mod 4) = 1, False, True)

4您拥有的表格(列)的数量在哪里。

对每个表执行相同的操作,增加公式等于的值(因此对于第二列(RowNumber(Nothing) Mod 4) = 2等等)。在最后一个表(列)中,公式等于0

这会交替隐藏详细信息行,仅显示该列号的相应行。

于 2012-12-06T00:32:24.070 回答
0

您可以通过查询来实现这种外观。

SELECT std1.id AS Student_Id, 
        std1.NAME AS Student_Name, 
        std2.id AS Student_Id, 
        std2.NAME AS Student_Name
FROM students std1, students std2
WHERE (std2.id - std1.id = 1 
       AND std1.id %2 = 1);
于 2014-04-11T04:36:18.463 回答