带有条件列的 Microsoft Access 2007 报表
Posted
技术标签:
【中文标题】带有条件列的 Microsoft Access 2007 报表【英文标题】:Microsoft Access 2007 Report with Conditional Columns 【发布时间】:2014-12-01 21:17:45 【问题描述】:我希望制作一个非常简单的报告来压缩并并排显示数据。我找到的所有报告示例都是逐行列出的。
我将使用的查询将只有三个模式“公司、模型、总计”
我想要的格式是
Company Model Total Company Model Total
A 123 2 B 123 4
A 222 3 B 333 3
A 444 7 B 444 7
我们的想法是以一种方式呈现信息,使多家公司可以并排比较同一型号的库存并找出差异。理想情况下,该报告最终会将涵盖所有***公司的所有模型归为一组,但这是下一代问题。
我已尝试对多个“公司”框进行条件格式设置,但条件似乎没有正确应用,或者由于某种原因,每个“公司”框都采用相同的条件。
【问题讨论】:
【参考方案1】:我认为您想要一个按模型(rowHeader)分组的交叉表查询,company 作为列标题,first(total) 作为值。
结果应该是这样的
model A total B total
123 2 4
222 3
333 3
444 7 7
如果需要,您可以根据交叉表结果创建另一个查询来计算公司总数之间的差异。
【讨论】:
Crosstab Microsoft Support 这个链接似乎描述了你所拥有的东西,我很确定你正中了它。工作空闲时需要做一些实验,但感谢您的帮助!【参考方案2】:您必须分两步完成:
-
构建一个查询,为您提供:
Company Model Total A 123 2 A 222 3 A 444 7 B 123 4 B 333 3 B 444 7
让我们调用q
这个查询。
-
构建第二个查询
SELECT q1.Company, q1.Model, q1.Total, q1.Company, q2.Model, q2.Total FROM q AS q1 INNER JOIN q AS q2 ON q1.Model = q2.Model WHERE q1.company < q2.company;
这会给你:
A 123 2 B 123 4 A 444 7 B 444 7
(222和333型号没有匹配的数据)
【讨论】:
不同公司的模型不一样 我没有忘记这个问题,需要拿到我的工作电脑前测试。此查询将遗漏仅出现在 1 家公司中的任何内容,但是是吗?还是我看错了 是的。如果你想拥有所有模型,你必须在查询中添加Model
并将FROM q AS q1 INNER JOIN q AS q2 ON q1.Model = q2.Model
替换为:FROM (Model LEFT JOIN q AS q1 ON Model.id = q1.model) LEFT JOIN q AS q2 ON Model.id = q2.Model
以上是关于带有条件列的 Microsoft Access 2007 报表的主要内容,如果未能解决你的问题,请参考以下文章
导入 Microsoft Access 数据库时保留自动编号列的值
Microsoft Access - 具有来自不同表的多个条件的 Dlookup
Microsoft Access Where Condition 在子窗体中不起作用