Последовательность номеров перезапуска MS Access

#ms-access

#ms-access

Вопрос:

пытаюсь выполнить подсчет последовательностей в MS Access, где последовательность подсчета сбрасывается на основе другого поля, поэтому пример ниже, пытаясь выяснить ColB :

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

Думаю, это может иметь какое-то отношение к DCount() функции, не уверен. Был бы очень признателен за помощь… Спасибо!

Ответ №1:

Вычисление порядкового номера группы в запросе Access — довольно распространенная тема. Требуется поле уникального идентификатора, должно использоваться autonumber.

Использование DCount():

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

Или с соответствующим подзапросом:

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

Альтернативой вычислению в запросе является использование свойства RunningSum текстового поля в отчете с настройками сортировки и группировки.