Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 33

Объединение отчетов

25.02.2013, 13:17. Показов 1984. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, прошу Вашей помощи. Необходимо создать отчет или запрос подобный прикрепленному в файле. В access создал запросы для каждой отдельной секции отчета в файле. (т.е переходящие с 2012 г, объявленные, просроченные и проч.). Теперь не могу сообразить как соединить их в один общий. Делать еще один запрос и как или делать отчет. Помогите пожалуйста.
Миниатюры
Объединение отчетов  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.02.2013, 13:17
Ответы с готовыми решениями:

Объединение отчетов
Добрый день. Поискал по форуму, погуглил, но решение не нашел. Исходные данные: есть база данных, в ней есть таблица со всем товаром...

Использование подзапроса, левое внешнее объединение, правое внешнее объединение
Помогите составить три данных запроса

Архив отчётов
Здравствуйте!Есть идея, подскажите, как осуществить.У меня есть таблица "Спецодежда", где записывается: кто, когда и что должен...

16
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
25.02.2013, 13:50
ТЗ не совсем ясно.
Но предположим, что вы хотите иметь именно такой вид как на рисунке. Т.е. Исполнитель только в самой левой колонке и сортировка по нему. Тогда имеет смысл объединить все запросы (Inner Join) в один по коду исполнителя и сделать его источником отчета.

Другой способ - сделать макет отчета в Excel и передать туда данные с помощью CopyFromRecordset.
0
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 33
25.02.2013, 15:00  [ТС]
Да нужно так как на рисунке. Расскажите пожалуйста подробнее про inner join. Я пробовал объединить с помощью union all, т.е между кодами запросов приписывал union, но получалась чушь какая то.

Добавлено через 1 минуту
Прошу прощения за некомпетентность.

Добавлено через 1 час 1 минуту
И еще такой вопрос, подскажите как сделать чтобы в запросе выводились ответственные исполнители у которых нет конкурсов. Допустим переходящие есть у 2 и только они выводятся в запросе ? как сделать чтобы присутствовали и те которых 0 ?
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
25.02.2013, 15:14
SQL
1
2
3
4
5
SELECT [СправочникИсполнители].ФИО, Запрос1.*, Запрос2.*, Запрос3.*
FROM [СправочникИсполнители], Запрос1, Запрос2, Запрос3,
[СправочникИсполнители] LEFT JOIN Запрос1 ON [СправочникИсполнители].КодИсполнителя=Запрос1.КодИсполнителя,
[СправочникИсполнители] LEFT JOIN Запрос2 ON [СправочникИсполнители].КодИсполнителя=Запрос2.КодИсполнителя,
[СправочникИсполнители] LEFT JOIN Запрос3 ON [СправочникИсполнители].КодИсполнителя=Запрос3.КодИсполнителя
1
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 33
26.02.2013, 00:14  [ТС]
Спасибо большое! у меня все исполнители в таблице Ответственный, соответственно будет Select [Ответственный] ? а звездочки это название запросов соответственных ?

Добавлено через 8 часов 54 минуты
Прошу помощи ! не могу разобраться.
0
 Аватар для Андрэич
2842 / 774 / 41
Регистрация: 20.05.2012
Сообщений: 2,055
26.02.2013, 00:42
Цитата Сообщение от maksden1 Посмотреть сообщение
а звездочки это название запросов соответственных ?
Они означают, что выбираются все поля из соотв таблицы, запроса. Такой синтаксис лаконичней, чем перечислять их все явно...
1
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 33
26.02.2013, 12:31  [ТС]
Спасибо большое ! Все понял.
А не подскажите как сделать вычисляемое поле в запросе. Мне нужно чтобы считала сумму из двух других полей запроса, одно из которых содержит много нулевых значений, соответственно где есть 0 - не отображается в результате суммирования. Пишу так: NZ(Переходящие.[Count - t _Госзаказ 2013], 0) + NZ(Объявленные.[Count - t _Госзаказ 2013], 0). Ругается на запятую перед 0, что неверно ?
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
26.02.2013, 12:36
Цитата Сообщение от maksden1 Посмотреть сообщение
Пишу так: NZ(Переходящие.[Count - t _Госзаказ 2013], 0) + NZ(Объявленные.[Count - t _Госзаказ 2013], 0). Ругается на запятую перед 0, что неверно ?
Пишите в конструкторе в поле отчета - там нужно вместо "," ";" ставить. Эффект национальных настроек - , используется в числах, как разделитель целой и дробной частей.
1
 Аватар для Андрэич
2842 / 774 / 41
Регистрация: 20.05.2012
Сообщений: 2,055
26.02.2013, 12:39
Цитата Сообщение от maksden1 Посмотреть сообщение
сделать вычисляемое поле в запросе. Мне нужно чтобы считала сумму из двух других полей запроса, одно из которых содержит много нулевых значений, соответственно где есть 0 - не отображается в результате суммирования. Пишу так: NZ(Переходящие.[Count - t _Госзаказ 2013], 0) + NZ(Объявленные.[Count - t _Госзаказ 2013], 0). Ругается на запятую перед 0, что неверно ?
Не понял, что должно суммироваться: полностью все значения в поле (по всему столбцу) или значения двух полей одной записи?
0
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 33
26.02.2013, 13:44  [ТС]
Должны суммироваться все значения одного поля со всеми значениями другого. Теперь проблема вот в этом:
[План2013].[Sum - НМЦ, руб (план)]-[Объявленные].[Sum-НМЦ, руб (факт)] - (Nz([Переходящие].[Sum - НМЦ, руб (план)],0) AS Выражение1
В столбце переходящие только 2 значения, остальные нули. Без NZ все нормально считает но только по этим двум значениям, остальные не выводит. С ней вообще не хочет работать.
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,937
Записей в блоге: 4
26.02.2013, 14:26
у меня нет никакого желания
--создавать базу
--вводить данные
--составлять запрос

----
не вижу прикрепленного файла в формате 2003-2007
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
26.02.2013, 14:42
Цитата Сообщение от maksden1 Посмотреть сообщение
[План2013].[Sum - НМЦ, руб (план)]-[Объявленные].[Sum-НМЦ, руб (факт)] - (Nz([Переходящие].[Sum - НМЦ, руб (план)],0) AS Выражение1
В столбце переходящие только 2 значения, остальные нули. Без NZ все нормально считает но только по этим двум значениям, остальные не выводит. С ней вообще не хочет работать.
Если показанная строка копипейст из запроса, то там ошибка - лишняя, ненужная скобка перед Nz. Или не хватает завершающей скобки.
Visual Basic
1
[План2013].[Sum - НМЦ, руб (план)]-[Объявленные].[Sum-НМЦ, руб (факт)] - Nz([Переходящие].[Sum - НМЦ, руб (план)],0) AS Выражение1
2
 Аватар для Андрэич
2842 / 774 / 41
Регистрация: 20.05.2012
Сообщений: 2,055
26.02.2013, 14:55
Запутался в названиях ваших полей и таблиц. Попробуйте так, "безхитростно":
SQL
1
2
3
4
5
6
7
8
9
SELECT  SUM(
             (SELECT SUM(Таблица.Поле1) AS Sum1
              FROM Таблица) 
               +
             (SELECT SUM(Таблица.Поле2) AS Sum2
              FROM Таблица)
              
            ) AS SUMtotal
FROM Таблица
0
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 33
26.02.2013, 15:02  [ТС]
Спасибо, с этим разобрался. Можете посмотреть на схему данных пожалуйста и код. Теперь проблема в том, что после присоединения данных из еще одного запроса "просроченные в работе" начинают дублироватся записи некоторых ответственных исполнителей, не пойму почему.
Oracle 11 SQL
1
2
3
4
5
6
7
SELECT [t Ответственный].Ответственный, Переходящие.[COUNT - t _Госзаказ 2013], Переходящие.[SUM - НМЦ, руб (план)], Объявленные.[COUNT - t _Госзаказ 2013], Объявленные.[Sum-НМЦ, руб (факт)], [Планы до конца года].[План до конца года Кол-во], [Планы до конца года].[План до конца года Сумма], План2013.[COUNT - t _Госзаказ 2013], План2013.[SUM - НМЦ, руб (план)], Просроченные.[COUNT - t _Госзаказ 2013], Просроченные.[SUM - НМЦ, руб (план)]
FROM ((((([t Ответственный] LEFT JOIN Объявленные ON [t Ответственный].Код = Объявленные.Код) 
LEFT JOIN Переходящие ON [t Ответственный].Код = Переходящие.Код)
LEFT JOIN [Планы до конца года] ON [t Ответственный].Код = [Планы до конца года].Код)
LEFT JOIN План2013 ON [t Ответственный].Код = План2013.Код) 
LEFT JOIN Просроченные ON [t Ответственный].Код = Просроченные.Код) 
LEFT JOIN [Просроченные в работе] ON [t Ответственный].Код = [Просроченные в работе].Код;
Миниатюры
Объединение отчетов  
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
27.02.2013, 02:44
Полная денормализация!
0
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 33
27.02.2013, 10:28  [ТС]
Цитата Сообщение от alvk Посмотреть сообщение
Полная денормализация!
Спасибо, очень содержательно.
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
27.02.2013, 10:33
тут содержательнее, почитайте:
Написание статей
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.02.2013, 10:33
Помогаю со студенческими работами здесь

Создание отчетов
Анкета (код читателя, предпочитаемый жанр); Вывести в отчет рейтинг популярности жанров. Для каждого жанра определить количество...

Список отчетов
Необходимо сделать в разных формах "выпадающий" список с отчетами. В каждой форме только свой список. За основу был взят шаблон...

Формирование отчетов
Здравствуйте! помогите с формирование отчетов. Есть форма с несколькими полями например Фамилия, Имя, Отчество, Домашний адрес и есть отчет...

Форматирование отчетов
При конструировании отчётов Accessm возникает проблемма: Если одно из полей содержит слишком большую строку, то его высота в отчёте больше...

Создание отчетов
Не могу справиться вообще голова кипит , время идет .. делал просто отчет в ответ получил это Необходимо на главной форме нанести...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru