powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отображение в отчете всех пунктов таблицы
9 сообщений из 9, страница 1 из 1
Отображение в отчете всех пунктов таблицы
    #39293555
taux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Как отобразить в отчете "полноценную" таблицу

Например

таблица

Месяц КоличествоЯнварь 2 человекФевраль 5 человекИюль 3 человекФевраль 7 человек

Надо, чтоб в отчете был полный список с отображением не упомянутых месяцев
Месяц КоличествоЯнварь 2 человекФевраль 12 человекМарт 0 человекАпрель 0 человекМай 0 человекИюнь 0 человекИюль 3 человекАвгуст 0 человекСентябрь 0 человекОктябрь 0 человекНоябрь 0 человекДекабрь 0 человек


Заранее спасибо
...
Рейтинг: 0 / 0
Отображение в отчете всех пунктов таблицы
    #39293568
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
taux,
создайте таблицу с перечнем всех месяцев и запрос
Код: vbnet
1.
2.
SELECT месяц.наименование, ВашаТабл.кол, nz([кол],0) AS Выражение1
FROM ВашаТабл RIGHT JOIN месяц ON ВашаТабл.мес = месяц.наименование;
...
Рейтинг: 0 / 0
Отображение в отчете всех пунктов таблицы
    #39293570
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку:
...который и будет источником запроса
...
Рейтинг: 0 / 0
Отображение в отчете всех пунктов таблицы
    #39293572
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошу пардон-отчета
...
Рейтинг: 0 / 0
Отображение в отчете всех пунктов таблицы
    #39293698
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
taux,

Во-первых, заголовок темы неверный - "Отображение в отчете всех пунктов таблицы".
Не "...всех пунктов таблицы", а "...того, чего нет в таблице".)))

Во-вторых, если там действительно не дата, а месяц, то это поле должно быть числовым,
содержащим порядковый номер месяца, а не текст с названием месяца.
Иначе как отсортируете месяцы в правильном порядке?

Таким образом, если Месяц - число, то вот запрос,
дающий помесячные суммы по всем месяцам года.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
SELECT Choose(T2.M,"Январь","Февраль","Март","Апрель","Май","Июнь",
                   "Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь") AS Месяц, 
       IIf(S Is Null,0,S) AS Количество
FROM 
   (SELECT Месяц AS M,
           Sum(Количество) AS S
    FROM Таблица
    GROUP BY Месяц) AS T1 
RIGHT JOIN 
   (SELECT TOP 1 1 AS M FROM Таблица
    UNION All 
    SELECT TOP 1 2 FROM Таблица
    UNION All
    SELECT TOP 1 3 FROM Таблица
    UNION All
    SELECT TOP 1 4 FROM Таблица
    UNION All
    SELECT TOP 1 5 FROM Таблица
    UNION All
    SELECT TOP 1 6 FROM Таблица
    UNION All
    SELECT TOP 1 7 FROM Таблица
    UNION All
    SELECT TOP 1 8 FROM Таблица
    UNION ALL 
    SELECT TOP 1 9 FROM Таблица
    UNION All
    SELECT TOP 1 10 FROM Таблица
    UNION All
    SELECT TOP 1 11 FROM Таблица
    UNION ALL 
    SELECT TOP 1 12 FROM Таблица) AS T2 
ON T1.M=T2.M
ORDER BY T2.M;

Если же в таблице даты, то выделенный желтым фрагмент будет таким
Код: sql
1.
2.
3.
4.
   (SELECT Month(Дата) AS M,
           Sum(Количество) AS S
    FROM Таблица
    GROUP BY Month(Дата)) AS T1 
...
Рейтинг: 0 / 0
Отображение в отчете всех пунктов таблицы
    #39293721
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если же принять, что Месяц остается текстовым,
то запрос становится таким
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
SELECT T2.MN AS Месяц, 
       IIf(S Is Null,0,S) AS Количество
FROM 
   (SELECT Месяц AS M,
           Sum(Количество) AS S
    FROM Таблица
    GROUP BY Месяц) AS T1 
RIGHT JOIN 
   (SELECT TOP 1 1 AS M, "Январь" AS MN FROM Таблица
    UNION All 
    SELECT TOP 1 2, "Февраль" FROM Таблица
    UNION All
    SELECT TOP 1 3, "Март" FROM Таблица
    UNION All
    SELECT TOP 1 4, "Апрель" FROM Таблица
    UNION All
    SELECT TOP 1 5, "Май" FROM Таблица
    UNION All
    SELECT TOP 1 6, "Июнь" FROM Таблица
    UNION All
    SELECT TOP 1 7, "Июль" FROM Таблица
    UNION All
    SELECT TOP 1 8, "Август" FROM Таблица
    UNION ALL 
    SELECT TOP 1 9, "Сентябрь" FROM Таблица
    UNION All
    SELECT TOP 1 10, "Октябрь" FROM Таблица
    UNION All
    SELECT TOP 1 11, "Ноябрь" FROM Таблица
    UNION ALL 
    SELECT TOP 1 12, "Декабрь" FROM Таблица) AS T2 
ON T1.M=T2.MN
ORDER BY T2.M;
...
Рейтинг: 0 / 0
Отображение в отчете всех пунктов таблицы
    #39293763
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle
Код: sql
1.
2.
SELECT Choose(T2.M,"Январь","Февраль","Март","Апрель","Май","Июнь",
                   "Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь") AS Месяц, 

Код: vbnet
1.
2.
3.
4.
5.
?MonthName(1)
Январь

?MonthName(1,True)
янв
...
Рейтинг: 0 / 0
Отображение в отчете всех пунктов таблицы
    #39293772
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,

Ой..
Нервно хихикаю...)))

Спасибо! Буду знать.
...
Рейтинг: 0 / 0
Отображение в отчете всех пунктов таблицы
    #39293809
taux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем БОООЛЬШОЕ СПАСИБО!!!!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отображение в отчете всех пунктов таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]