代码之家  ›  专栏  ›  技术社区  ›  alexcoco akvallejos

如何在访问中分组

  •  2
  • alexcoco akvallejos  · 技术社区  · 14 年前

    我已经试了一段时间了,我就要放弃了。我需要准备一份报告,其中显示项目编号、生产日期和生产日期等。因此,正如您想象的那样,每一行都包含一个行号、项目编号、生产日期,以及关于为该条目计划和生产的项目数量的信息。

    我需要先按行对行进行分组,这很简单,之后,我需要按周对行进行分组,这也很有魅力,除了这之后的日期不太整齐。我需要申请一个排序,但在今天这个时候。这很有效,但这是下一步造成最大麻烦。我还需要对生产的项目进行分组。例如:

    Day - Item
    Day 1 - Item A
    Day 2 - Item A
    Day 3 - Item A

    这些将用一个页脚进行分组,计算为这些连续条目生成的项目数。然而,有时生产看起来是这样的:

    Day - Item
    Day 1 - Item B
    Day 2 - Item B
    Day 3 - Item A
    Day 3 - Item B

    我看不出一种方法可以以特定的方式对项目进行排序,因为我已经按日期对它们进行了排序,因为日期顺序被第一组弄乱了。如果在这一点上对项目进行分组,每行将得到一个组页眉/页脚,这意味着它根本不起作用。

    我的客户建议我这样做,当Access“注意到项目编号发生变化时,它会给出总数”。虽然这在语言上很好,但它意味着行应该按项目编号和日期排序。他将生产项目A三天,然后生产项目B两天,但部分问题是,有时他将生产A两天半,并在第三天开始B(在A之后),所以如果按日期订购,它可以把一行高于另一行,因为他们在同一天。据我所知,没有真正的方法可以只“知道”先生产哪些产品,以便在项目编号更改后对它们进行分组。当然,它可以保留输入的顺序,但如果我需要对它们进行排序,则该顺序将丢失。

    我不确定这种表结构是否可能做到这一点。如果没有,有人能建议一个替代的表结构吗?或者,也许有一种方法可以让第一组人不把日期搞乱,这样我就可以删除按日期排序(尽管我不确定即使我能做到这一点也行)。

    @史蒂夫卡斯
    Day - Item
    Day 1 - Item B
    Day 2 - Item B
    Day 3 - Item B
    Day 3 - Item A
    Day 3 - Item C
    Day 4 - Item A
    Day 5 - Item C

    这就是他的Excel表中的布局:

    Day - Item
    Day 1 - Item B
    Day 2 - Item C
    Day 3 - Item C
    Day 3 - Item A
    Day 4 - Item A
    Day 4 - Item D
    Day 5 - Item D

    我选择了代表实际项目编号的字母顺序的字母。

    @Abe Miessler,迄今为止的查询:

    SELECT Planned.Line, 
           Planned.[Production Date], 
           Items.[Item Number], 
           Items.[Bottles/Pallet], 
           Planned.PQ1, 
           Planned.AQ1, 
           Planned.PQ2, 
           Planned.AQ2, 
           Planned.PQ3, 
           Planned.AQ3 
    FROM Items 
    INNER JOIN Planned 
       ON Items.ID = Planned.ItemID;
    

    @大卫·W·芬顿:嗯,我被要求每次运行都有一个生产总结。运行将被描述为同一产品的连续生产。产品在两行中的一行生产,每天可以有多个条目。报表必须首先按行分组,以便每个组显示该行的条目。这是通过一个简单的分组完成的。在每行分组中,我需要按周分隔条目。现在,在每一周内,这些日子都没有按顺序出现。如果天数不合适,我们将无法看到跑步,因为跑步很可能会在连续的几天内发生。一个产品将连续生产3天,例如,如果这些天与一周中的其他天混在一起,将不会有连续的、可识别的运行。为了使每个星期的条目按正确的顺序排列(按天),我应用了一个排序。我注意到,在应用了这种排序之后,每个条目都被当作一个单独的“组”来处理,但没有页眉/页脚。这导致以后无法按产品编号分组,因为每个条目都在自己的“组”内。

    2 回复  |  直到 13 年前
        1
  •  1
  •   Bill the Lizard Alexis MP    13 年前

    我认为你在要求一些不可能的东西。但是,如果您没有,请告诉我们您想要什么顺序,如果这些是您的行:

    Day - Item
    Day 1 - Item B
    Day 2 - Item B
    Day 3 - Item A
    Day 3 - Item B
    Day 3 - Item C
    Day 4 - Item A
    Day 5 - Item C
    
        2
  •  1
  •   David-W-Fenton    14 年前

    您在一条评论中说,您从以下内容开始:

      Group by=>line
        Group by=>week
          Group by=>product number 
    

    …但它不起作用,“因为按周分组后,它们按周分组,但在一周内它们不再排序。”因此您(正确地)添加了一个排序组,因此:

      Group by=>line
        Group by=>week
          Sort by=>day
            Group by=>product number
    

    但你说:

    现在一切正常,你可以看到 连续天数相同 产品,但分组结果 行被单独分组。

    显示数据的控件在哪里?在详细信息中还是在组/排序标题中?它使世界上的一切都不同。要显示所有记录,请使用详细信息。要显示摘要数据,请使用标题。在我看来,你把控件放在头上,而不是放在细节上。

    你能在设计视图中截取一个报告的截图,并将它插入到你的问题中吗?如果没有它,我就不知道该怎么做了。