|
Счёт нарастающим итогом по параметру
|
|||
---|---|---|---|
#18+
Товарищи, помогите, пожалуйста, сделать такую штуку в Access 2010: Имеется таблица с двумя полями: ID Сотрудника Дата 1 02.02.2015 1 03.02.2015 1 04.02.2015 2 02.02.2015 2 03.02.2015 2 04.02.2015 2 05.02.2015 Необходимо вывести поле с подсчётом количества дат по сотруднику по каждой строке, т.е. должно получиться следующее: Сотрудник Дата Счётчик 1 02.02.2015 1 1 03.02.2015 2 1 04.02.2015 3 2 02.02.2015 1 2 03.02.2015 2 2 04.02.2015 3 2 05.02.2015 4 Сотрудников достаточно много, дат тоже, т.е. прописывать вручную ID сотрудника не комильфо. Есть ли функция для этих дел? Пробовал через DCount, но это совсем не то, он просто считает количество. Заранее благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2015, 18:40 |
|
Счёт нарастающим итогом по параметру
|
|||
---|---|---|---|
#18+
попробуй в сторону суммы с накоплением покопать. вводишь столбец со значением 1 и от него прыгаешь. По сумме с накоплением здесь http://www.sql.ru/forum/99580/summa-s-nakopleniem ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2015, 20:16 |
|
Счёт нарастающим итогом по параметру
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2015, 08:40 |
|
Счёт нарастающим итогом по параметру
|
|||
---|---|---|---|
#18+
Значит написал я как советовали в указанных постах функцию: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
И запрос: Код: sql 1. 2.
И значит считает он, собака, по разному, в одном случае по нескольку раз одно и тоже, в другом считает не все ID. Зависит от того, выводишь дату и ID в запрос или нет. Можете подсказать, где я не так делаю. Заранее благодарен! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2015, 18:06 |
|
Счёт нарастающим итогом по параметру
|
|||
---|---|---|---|
#18+
Sberban4eg, на примере ваших данных в первом сообщении ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2015, 22:29 |
|
Счёт нарастающим итогом по параметру
|
|||
---|---|---|---|
#18+
guest_rusimportSberban4eg, на примере ваших данных в первом сообщении Если в таблице Лист1 поменять местами значения в Поле1 для 2-ой и 5-ой записи Поле1Поле2102.02.2015203.02.2015104.02.2015202.02.2015103.02.2015204.02.2015205.02.2015 то набор записей не изменится, но результат работы Запрос5 ... Поле1Поле2num102.02.20151103.02.20151104.02.20151202.02.20151203.02.20151204.02.20151205.02.20152 Здесь сказывается то, что внешний запрос (в данном случае Запрос5) не гарантировано обрабатывает записи вложенного запроса (в данном случае Запрос4) в порядке указанном предложением ORDER BY вложенного запроса. Ситуацию можно поправить, дополнив Запрос4 предикатом TOP Код: sql 1. 2. 3.
Замечание. Документального подтверждения сказанному в предыдущем абзаце в Access не нашел. Хотя, насколько помню, в T-SQL именно так. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2015, 07:02 |
|
Счёт нарастающим итогом по параметру
|
|||
---|---|---|---|
#18+
-Практикант-, Спасибо, буду иметь ввиду ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2015, 08:39 |
|
Счёт нарастающим итогом по параметру
|
|||
---|---|---|---|
#18+
Товарищи, большое вам человеческое спасибо! Кому интересно получилось так: Исходная таблица называется таблица1 (поля: ID_сотрудника, Дата) Необходимо сделать промежуточный запрос, где отсортировать по порядку оба поля, приводить пример не буду, т.к. понятно как это. это запрос1. Далее прописываем функцию Numeration. Пример указан выше. И делаем итоговый запрос: SELECT TOP 100 PERCENT запрос1.ID_сотрудника, запрос1.Дата, numeration([ID_сотрудника]) FROM запрос1 WHERE (((IsNull([ID_сотрудника]))=False)) ORDER BY запрос1.ID_сотрудника, запрос1.Дата; Предложенный в одном из вариантов Distinct тут приведёт к некорректной работе. ВАЖНО: При каждом перезапуске (если переходить из режима конструктора в режим таблицы данные в поле num постоянно "играют"). В итоге сделал создание таблицы на основании вышеуказанного запроса. Всё работает. Всем ещё раз спасибо! Практикант- Кстати TOP можно поставить в итоговый запрос, тоже работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2015, 15:55 |
|
|
start [/forum/topic.php?fid=45&fpage=121&tid=1614236]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 131ms |
0 / 0 |