MS Access 03 - 查询表达式以添加ID号

时间:2009-08-03 14:58:52

标签: ms-access vba

所以我有一个查询是前N个聚合查询,我从另一个查询构建了另一个查询,该查询返回为每个顶级销售分组的所有办公室/位置。我想制作一份报告,计算与此查询中返回的每个最高Nth ID值相关联的办公室数量。我想在报告的文本框中使用域聚合表达式,这样我就不必每个月花时间查找这些ID来确定需要进入表达式的内容。

那么我可以在第二个查询中添加一个表达式,它将为ID分配一个数字降序号吗?

第一个查询如下:/

ID#    ITEM             Sold  /
765    Lawnmowers        75  /
764    Weed trimmers     64  /
etc

第二个查询如下:/

ID#    ITEM             Sold         Location   /
 /
765    Lawnmowers        75          New York  /
765    Lawnmowers        75          Maryland  /
765    Lawnmowers        75          Ohio     /
765    Lawnmowers        75          Virginia   /
764    Weed trimmers     64          Florida
764    Weed trimmers     64          north Carolina   /

我需要: /

ID#    ITEM             Sold         Location          IDGroup#   /

765    Lawnmowers        75          New York                 1   /
765    Lawnmowers        75          Maryland                 1   /
765    Lawnmowers        75          Ohio                     1   / 
765    Lawnmowers        75          Virginia                 1   /
764    Weed trimmers     64          Florida                  2   /
764    Weed trimmers     64          north Carolina           2   /

请帮忙。谢谢!我正在拉这个头发!

我要做的是能够报告所售商品的数量(已完成),在给定时间段内销售该商品的数量(需要动态需要)。

我试图使用DCount表达式,但如果我使用产品ID,那对我没有好处,因为这些数字每月都在变化(这完全基于十大查询开头)

我知道我对这个问题感到困惑:)

1 个答案:

答案 0 :(得分:2)

要回答你的问题,是的,这是可能的。您可以使用Switch功能。例如: Switch(“LawnMower”,1,“Weed trimmers”,2)等。当然,这需要你为表中的每个唯一值添加一个条目,并且几乎是可怕的 id带有少量组的丢弃查询。

更正统的方法是创建一个包含两个字段的查找表:“Item”和“Group”。使项目成为主键,并使“组”成为自动编号字段。接下来,您需要创建Select Distinct查询以获取原始表中的唯一项。将此查询转换为追加查询并将值传递到查找表中(无论您喜欢哪种排序)。 autonum字段将自动为这些记录分配顺序ID。

现在,您可以使用原始查询并在查找表中添加联接以提取组ID。

附录:如果一个组中有多个项目,只需使用ITEM将ID字段设置为非唯一数字长,然后手动键入条目(它不应该花太长时间,因为它将是唯一条目)。无论哪种方式,通过这种方法,您应该能够相对轻松地维护您的团队。