Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2021, 18:23   #1
Vladimir_Der
Пользователь
 
Регистрация: 10.12.2018
Сообщений: 23
Вопрос Подсчет количества повторов построчно, как в Excel (Счётесли)

Всем доброго времени суток, в запросе "повторяющееся записи" необходимо подсчитать количество повторов построчно. В вычисляемом поле запроса пытаюсь использовать функцию DCount (если это конечно правильно, не получается с критерием). Подсчет должен идти по полю [Код] (переменная и фиксировано не напишешь). Хотелось бы чтоб получилось как на вложенном файле .jpg. Файл примера так же прилагается.
Заранее благодарен.
Изображения
Тип файла: jpg Безымянный.jpg (49.5 Кб, 17 просмотров)
Вложения
Тип файла: rar Database13.rar (36.4 Кб, 7 просмотров)
Vladimir_Der вне форума Ответить с цитированием
Старый 15.11.2021, 19:28   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

1.Поиск повторений для Таблица1
Код:
SELECT Таблица1.магазин, Таблица1.товар, Таблица1.артикул, [магазин] & [артикул] AS Код
FROM Таблица1
WHERE (((Таблица1.магазин) In (SELECT [магазин] FROM [Таблица1] As Tmp GROUP BY [магазин],[товар] HAVING Count(*)>1  And [товар] = [Таблица1].[товар])))
ORDER BY Таблица1.магазин, Таблица1.товар;
2. Запрос1
Код:
SELECT [магазин] & [артикул] AS Код, Count([магазин] & [артикул]) AS Код_
FROM Таблица1
WHERE (((Таблица1.магазин) In (SELECT [магазин] FROM [Таблица1] As Tmp GROUP BY [магазин],[товар] HAVING Count(*)>1  And [товар] = [Таблица1].[товар])))
GROUP BY [магазин] & [артикул];
3. ЗАПУСКАТЬ
Код:
SELECT [Поиск повторений для Таблица1].магазин, [Поиск повторений для Таблица1].товар, [Поиск повторений для Таблица1].артикул, [Поиск повторений для Таблица1].Код, Запрос1.Код_
FROM [Поиск повторений для Таблица1] LEFT JOIN Запрос1 ON [Поиск повторений для Таблица1].Код = Запрос1.Код
ORDER BY [Поиск повторений для Таблица1].магазин;
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 16.11.2021, 18:13   #3
Vladimir_Der
Пользователь
 
Регистрация: 10.12.2018
Сообщений: 23
По умолчанию

Спасибо большое за ответ, но есть одна проблема: данные выводимые запросом получились не редактируемые.
Vladimir_Der вне форума Ответить с цитированием
Старый 19.11.2021, 03:12   #4
Eugene-LS
Пользователь
 
Аватар для Eugene-LS
 
Регистрация: 23.02.2018
Сообщений: 78
По умолчанию

Цитата:
Сообщение от Vladimir_Der Посмотреть сообщение
Подсчет должен идти по полю [Код]
Судя по картинке нет ...

Меняем выражение на:
Код:
Повторов: DCount("*";"Таблица1";"артикул ='" & [артикул] & "' AND магазин ='" & [магазин] & "'")
Запрос будет иметь вид:
Код:
SELECT магазин, товар, артикул, [магазин] & [артикул] AS Код, 
DCount("*","Таблица1","артикул ='" & [артикул] & "' AND магазин ='" & [магазин] & "'") AS Повторов
FROM Таблица1
WHERE (
	магазин In (
	SELECT [магазин] FROM [Таблица1] As Tmp 
	GROUP BY [магазин],[товар] HAVING Count(*)>1 
	And [товар] = [Таблица1].[товар])
	)
ORDER BY магазин, товар;
Получаем как просили ....
Изображения
Тип файла: png Снимок.PNG (11.3 Кб, 10 просмотров)
Eugene-LS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск минимального количества повторов чисел Дима85 C# (си шарп) 7 24.07.2016 18:55
Добавление последовательного количества повторов Лексер Microsoft Office Excel 2 22.07.2016 11:47
Подсчёт количества повторов элементов одномерного массива tane Помощь студентам 0 22.01.2016 18:25
Подсчет количества в Excel срочно!!! Kunia Microsoft Office Excel 5 03.02.2009 07:31