#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 текстового поля в отчете с настройками сортировки и группировки.