MS Access重新启动编号顺序

问题描述

尝试在MS Access中进行序列计数,在该过程中,计数序列会基于另一个字段进行重置,因此下面的示例尝试找出ColB

ColA ColB
4566 1
5677 1
5677 2
5677 3
8766 1
8766 2
1223 1

不确定,可能与DCount()函数有关。非常感谢您的帮助...谢谢!

解决方法

在Access查询中计算组序列号是相当常见的主题。需要一个唯一的标识符字段,应使用自动编号。

使用DCount():

SELECT *,DCount("*","table","ColA=" & [ColA] & " AND ID<" & ID) + 1 AS GrpSeq FROM table;

或与相关子查询:

SELECT *,(SELECT Count(*) FROM table AS D WHERE ColA=table.ColA AND ID<table.ID)+1 AS GrpSeq FROM table;

查询中计算的一种替代方法是在具有“排序和分组”设置的报表上使用文本框的RunningSum属性。