Microsoft Access - создать числовую последовательность на основе изменения значения поля? - PullRequest
0 голосов
/ 05 июля 2010

Для данных запроса, таких как:

   +-------+---------+ 
   | Name  | Details | 
   | JEFF  |  TEST1  |
   | JEFF  |  TEST2  |
   | JEFF  |  TEST3  |
   | BOB   |  TEST1  |
   | BOB   |  TEST2  |
   +-------+---------+

Как сделать запрос, чтобы можно было добавить числовую последовательность (1,2,3 ...), которая сбрасывается обратно в 1 при каждом изменении имени(то есть от JEFF до BOB)?

Можно ли использовать функцию DCOUNT?

То, что у меня до сих пор (это не последовательность правильно):

Number: (SELECT COUNT(*) FROM  [dQuery] 
WHERE  [dQuery].[Name] =  [dQuery].[Name] 
AND  [dQuery].[sequence] >=  [dQuery].[sequence])

ОБНОВЛЕНИЕ1:

Правильный запрос:

SELECT [dQuery].Name, [dQuery].[sequence], (select count([dQuery].Name) + 1 
from [dQuery] as dupe where 
dupe.[sequence]< [dQuery].[sequence] and dupe.name  = [dQuery].name
) AS [Corrected Sequence]
FROM [dQuery]
WHERE ((([dQuery].Name)="jeff"))
ORDER BY [dQuery].Name, [dQuery].[sequence];

Ответы [ 2 ]

1 голос
/ 24 июня 2012

Если вы хотите добавить серийный номер в отчет динамически, чем, создайте отчет для конкретной таблицы и откройте отчет в режиме конструктора.Затем добавьте текстовое поле в левой части строки данных и задайте «= 1» (без двоеточия) для свойства источника управления @ на вкладке «Данные».И измените «Нет» на «Over Group» его свойства «промежуточная сумма» на вкладке «Данные».Во время выполнения это текстовое поле будет отображать данные в последовательности, например, 1, 2, 3 в каждой строке.

Спасибо

1 голос
/ 05 июля 2010

Взгляните здесь . Я думаю, что автор решил некоторые очень похожие проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...