如何在Access中的组内进行分组

时间:2010-11-15 01:41:03

标签: sql ms-access report

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

我需要先按行对行进行分组,这很简单,之后,我需要按星期对它们进行分组,这也像魅力一样,除此之后日期并没有按顺序排列。我需要应用一种排序但是这一天。这很有效,但这是导致最大麻烦的下一步。我还需要对生成的项目进行分组。例如:

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

我没有看到以特定方式对项目进行排序的方法,因为我已按日期对它们进行排序/排序,因为日期顺序被第一组搞砸了。如果我要在那个时候对项目进行分组,那么每行会得到一个组页眉/页脚,这意味着它根本不起作用。

我的客户建议我这样做,以便当“通知”项目编号更改时,它会给出总计“。虽然这在单词中很精彩,但它意味着行应按项目编号和日期排序。他将生产项目A三天,然后生产项目B 2天,但部分问题是,有时他会生产A两天半,并在第三天(在A之后)开始B,所以如果它是由日期,因为它们在同一天,它可能会在另一行之上。据我所知,没有真正的方法让Access只是“知道”首先生产哪些产品,以便在项目编号改变后对它们进行分组。当然它可以保持输入的顺序,但如果我需要它们排序,那么该顺序将会丢失。

我不确定这种表格结构是否完全可以实现。如果没有,有人可以建议替代表结构吗?或许有一种方法让第一组不要弄乱日期,这将允许我按日期删除排序(虽然我不确定它是否会起作用,即使我可以这样做)。

@Steve Kass
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;

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

2 个答案:

答案 0 :(得分:1)

我认为你要求的是不可能的东西。但是如果你不是,请告诉我们你想要的订单:

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

答案 1 :(得分:1)

你在评论中说你是从这开始的:

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

......但它不起作用“因为按周分组后,它们按星期分组,但在一周内它们不再被命令。”所以你(正确地)添加了一个排序组,因此:

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

但你说:

  

现在它按顺序排列,你可以看到   连续几天一样   产品,但每个产品的分组结果   行分开分组。

显示数据的控件在哪里?在详细信息或组/排序标题中?它使世界变得与众不同。要显示所有记录,请使用DETAIL。要显示摘要数据,请使用HEADER。听起来像是你把控件放在标题中而不是细节中。

您可以在设计视图中截取报告的屏幕截图并将其插入到您的问题中吗?没有它,我不知道如何进一步。