显示访问报告列表框一个字段分为 3 列

Posted

技术标签:

【中文标题】显示访问报告列表框一个字段分为 3 列【英文标题】:Display Access Report Listbox One Field into 3 Columns 【发布时间】:2018-10-23 02:35:14 【问题描述】:

我目前一直在尝试将包含大量值 (9) 的列表框从 9 个值长的一列格式化为包含 3 列的列表框,从而缩短列表框的长度。该信息仅用于在报告中显示。

我目前拥有的:

Field 1
[Entry 1]
[Entry 2]
[Entry 3]
[Entry 4]
[Entry 5]
[Entry 6]
[Entry 7]
[Entry 8]
[Entry 9]

我想要的,都还是同一个字段:

[Entry 1]                     [Entry 2]                       [Entry 3]
[Entry 4]                     [Entry 5]                       [Entry 6]
[Entry 7]                     [Entry 8]                       [Entry 9]

我尝试了一些技术来实现这一点,但没有一个效果很好。我只是希望能够在报表上显示客户姓名,而列表框不会超长。

任何帮助将不胜感激

谢谢, 凯夫

【问题讨论】:

那么这个客户列表不是报表的主要数据吗?如果是,那么您是否查看了柱状设置? 【参考方案1】:

这仅适用于 9 条记录。需要一个唯一的标识符字段。假设 ID 是从 1 到 9 连续的。

TRANSFORM Max(Table5.Field1) AS MaxOfField1
SELECT Switch([ID]<4,"a",[ID]<7,"b",[ID]<10,"c") AS Row
FROM Table5
GROUP BY Switch([ID]<4,"a",[ID]<7,"b",[ID]<10,"c")
PIVOT Choose([ID] Mod 3+1,3,1,2);

如果您想允许无限的记录,预计将需要 VBA。查询调用的函数或将记录写入临时表,很可能是后者。

【讨论】:

天哪,非常感谢!我可能会努力让它可以处理无限的记录,但这肯定会在短期内解决我的问题。再次感谢! 我真的试图找到无限记录的动态方法,但看不到仅查询的方法。我会使用 VBA 和临时表(表是永久的,但记录是临时的)。

以上是关于显示访问报告列表框一个字段分为 3 列的主要内容,如果未能解决你的问题,请参考以下文章

基于值列表访问列表框 - 按列排序

如何在访问报告中生成列表?

易语言sql server 2008显示里面字段的数据到超级列表框里

循环访问整个 Access 2010 列表框

MS Access 07-10,希望能够将字段放入列表/组合框中

访问报告中的绑定组合框为空