访问VBA - 为重复记录分配值?

时间:2014-08-11 11:23:35

标签: sql vba ms-access

我有一张表格,其中包含从Excel电子表格中提取的产品,而且有些产品在产品ID'中有重复的值。领域。如果发生这种情况,我想在'运行否'中分配一个值来区分它们。领域。所以例如它看起来像这样......

Product ID|Run No|ProcessNo |Product Description
34        |  1   |71808013  |Product 1
34        |  2   |71807961  |Product 1
42        |  1   |71808011  |Product 2
42        |  2   |71807962  |Product 2
43        |  1   |71808012  |Product 3
41        |  1   |71807959  |Product 4
52        |  1   |71808010  |Product 5
52        |  2   |71807960  |Product 5

此表中显示的产品每天都会更改,可能会有超过2次运行。我已经尝试过寻找解决方案,但最接近的是Excel(http://www.ozgrid.com/forum/showthread.php?t=46060)并且我真的不明白如何在Access中实现它。到目前为止,我只是设法使用查询找到重复项,但在此之后我有点迷失。

任何帮助表示赞赏!谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用以下内容指定运行编号:

select t.*,
       (select count(*)
        from mytable as t2
        where t2.productid = t.productid and
              t2.processno <= t.processno
       ) as runno
from mytable as t;

这假设processno对于任何给定的产品都是不同的,这就是样本数据的情况。