2014-12-01 80 views
0

我正在寻找一个非常简单的报告来并排显示数据。我发现所有报告的例子都只是逐行。带条件列的Microsoft Access 2007报告

我将使用只会有三种模式中的查询“公司,产品型号,共有”

我试图去格式

Company  Model  Total  Company  Model  Total 
A   123  2   B   123  4 
A   222  3   B   333  3 
A   444  7   B   444  7 

的想法是存在于一个信息多家公司可以并排比较相同型号的库存并找出差异。理想情况下,报告最终会将所有顶级公司的所有模型分组,但这是下一代问题。

我试图在多个“公司”框中条件格式化,但条件似乎没有正确应用或出于某种原因,每个“公司”框都采用相同的条件。

回答

0

你要做的这两个步骤:

  1. 构建查询,让你:
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的数据)

    +0

    各公司的型号都不一样 – Beth 2014-12-01 22:51:20

    +0

    我没有忘记这个问题,需要在我的工作电脑前拿到测试。这个查询将排除只出现在1家公司的任何内容,尽管是的?还是我读错了 – 2014-12-11 04:00:12

    +0

    是的。如果你想拥有所有的模型,你必须在查询中添加'Model',并用'FROM(Model LEFT JOIN q AS q1)替换'FROM q AS q1 INNER JOIN q AS q2 ON q1.Model = q2.Model' ON Model.id = q1.model)LEFT JOIN q AS q2 ON Model.id = q2.Model' – 2014-12-11 09:42:26

    0

    我想你需要一个模型(rowHeader),公司作为列标题,第一个(总数)作为值的交叉表查询分组。

    结果应该看起来像

    model A total B total 
    123  2  4 
    222  3 
    333    3 
    444  7  7 
    

    那么你就可以创建基于交叉结果来计算公司总数的区别,如果你想另一个查询。

    +0

    [Crosstab Microsoft Support](https://support.office.com/zh-cn/article/Make-summary- data-easy-by-use-a-crosstab-query-8465b89c-2ff2-4cc8-ba60-2cd8484667e8) 这个链接似乎描述你有什么,我敢肯定你打在头上。当我在工作中得到一个空余时间时需要做一些实验,但是感谢您的帮助! – 2014-12-11 04:00:36