Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
102 / 87 / 17
Регистрация: 04.05.2011
Сообщений: 1,330
1

Сложный сводный отчёт

14.01.2016, 16:56. Показов 1146. Ответов 5
Метки нет (Все метки)

Есть таблица "Материалы" с записями вида: Материал, в наличии, дата.
Мне необходимо создать отчет о общем количестве материала на каждую пятницу месяца (текущего).
То есть получить:
Материал112304.12.2015
Материал2304.12.2015
Материал31204.12.2015
Материал14311.12.2015
Материал21311.12.2015
Материал316211.12.2015
и т.д.
Подскажите, как это лучше сделать? Сводным отчётом, или написать 4 отчёта на сумму материалов на каждую пятницу? Или что-то ещё по советуете?
Хотелось бы получить пример, но сильно не наглею...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.01.2016, 16:56
Ответы с готовыми решениями:

Сводный отчет
Здравствуйте, форумчане! Подскажите пожалуйста, как сделать отчет-статистику "Статистика" на...

Сводный отчет
Сводный отчет потребляет >200 метров памяти и сильно грузит систему. В чем может быть проблемма?...

Сложный отчёт
Проблема такая. Я создаю отчёт, в котором помимо основных данных должна выводиться в конце сумма...

Сложный отчет
Здравствуйте уважаемые Гуру SQL и программирования! Создаю Базу в аксесе и столкнулся с проблеммой...

5
Эксперт MS Access
26716 / 14396 / 3190
Регистрация: 28.04.2012
Сообщений: 15,782
14.01.2016, 18:51 2
Цитата Сообщение от Aleator Посмотреть сообщение
необходимо создать отчет о общем количестве материала на каждую пятницу месяца (текущего).
Как я понимаю, трудность в том, чтобы запросом отобрать даты всех пятниц месяца? Это можно сделать двумя путями в запросе:
1. Если есть таблица Календарь, где перечислены все даты и из нее выбрать все пятницы. Самый простой путь.
2. Воспользоваться таблицей, где есть непрерывный ряд натуральных чисел от 1 до до 31. Если такой таблицы нет, то можно использовать известный запрос Digits.
Запрос по таблице Kalendar, где есть поле DateD с датами
SQL
1
2
3
SELECT *
FROM Kalendar
WHERE format(Dated,"yyyymm")=format(DATE(),"yyyymm") AND weekday(dateD,2)=5
Запрос с применением запроса Digits. Также позволяет получить все пятницы текущего месяца.
SQL
1
2
3
4
SELECT (D1.digit & D0.digit)+dateserial(YEAR(DATE()),MONTH(DATE()),1) AS Дата
FROM Digits AS D0, Digits AS D1
WHERE (D1.digit & D0.digit)+1<=DAY(dateserial(YEAR(DATE()),MONTH(DATE())+1,0))
AND weekday((D1.digit & D0.digit)+dateserial(YEAR(DATE()),MONTH(DATE()),1),2)=5
Как Вы находите количество материалов ничего не сказано. То ли суммируете приход-расход, то ли есть таблица остатков. Или еще как-то, словом не ясно. Но в любом случае, отталкиваясь от дат пятниц, можно получить требуемый набор данных запросом.

Во вложении таблица с календарем и 3 запроса: по таблице, по запросу Digits и сам Digits
Вложения
Тип файла: rar ОтчетПятница.rar (19.6 Кб, 9 просмотров)
1
102 / 87 / 17
Регистрация: 04.05.2011
Сообщений: 1,330
15.01.2016, 01:45  [ТС] 3
Даты я получил. Спасибо.
Но что делать дальше, пока не знаю. Количество материалов я суммирую. То есть, должно получиться: с начала месяца и до первой пятницы, с первой пятницы до второй пятницы и т.д.
Может быть всё таки через vb лучше будет? Через чистый SQL не знаю как делать.
0
Эксперт MS Access
26716 / 14396 / 3190
Регистрация: 28.04.2012
Сообщений: 15,782
15.01.2016, 12:55 4
Лучший ответ Сообщение было отмечено Aleator как решение

Решение

Aleator, было бы хорошо посмотреть БД. Я не очень понял таблицу Материалы. Такое ощущение, что таблица получена из запроса. И непонятно по каким датам в ней данные - ежедневные ли, по датам приходов-расходов? Одним словом непонятно.

Я сделал пример где есть таблица ДвижениеМатериалов с датами, идматериала и приходами, расходами. Также краткий справочник материалов. Запрос "ЗапросПятницы" дает остатки на начало и конец каждой недели выбранного месяца по каждому материалу в отдельности. Если нужна разность за неделю, то надо просто вычесть одно поле из другого. Для удобства сделана форма, где можно выбрать год и месяц, а кнопка вызывает запрос по выбранному году-месяцу.
Таблица Месяцы только для заполнения поля со списком на форме F1

Запрос "ЗапросПятницы" основан на запросе qDigits, но с таким же успехом можно было и на запросе qKalendar. Вместо конкретной текущей даты в них использована ссылка на форму F1. Таким образом можно легко проверить отчеты на старых данных.
Вложения
Тип файла: rar ОтчетПятница.rar (34.0 Кб, 6 просмотров)
1
102 / 87 / 17
Регистрация: 04.05.2011
Сообщений: 1,330
15.01.2016, 14:42  [ТС] 5
Да, лучше было бы, что бы я прикрепил БД в самом начале. Запрос Ваш сложноват для меня (пока).
Если получиться написать для моей БД, буду благодарен. Её прикрепляю. Запрос, который я продолжаю разрабатывать - Query2 + надо добавить день. Я там для произвольного периода сделал. Но только для одного.
Думал, писать запросы для каждого периода... Потом, как-то собирать.
В итоге, должен получиться отчёт по этому запросу (пример прикрепил).
Миниатюры
Сложный сводный отчёт  
Вложения
Тип файла: 7z Mat Ops HazMat Database.7z (63.3 Кб, 9 просмотров)
0
102 / 87 / 17
Регистрация: 04.05.2011
Сообщений: 1,330
15.01.2016, 16:21  [ТС] 6
Разобрался. Огромное спасибо.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2016, 16:21

Сложный отчёт
У меня есть база данных, в ней таблицы &quot;студенты&quot;, &quot;родители&quot;, &quot;встречи с родителями&quot;, &quot;причины...

Сложный отчёт Рыбаки и их улов
Здравствуйте. БД тривиальная. Рыбаки и их улов. Я прошу помощи в сотавлении отчёта получения...

Как создать сложный отчет?
Предметная область ИС: Производство I Создать простой отчет, содержащий: • список ...

Создать сложный отчет - выборка по одному полю, группировка по другому
Уважаемые гуру ! Я новичок в Аксессе, так что прошу сильно не пинать. Есть таблица с полями...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.