Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
150 / 28 / 3
Регистрация: 24.08.2014
Сообщений: 485
1

Преобразование даты в название месяца

26.02.2016, 11:53. Показов 3661. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Форумчане, подскажите, как преобразовать номера месяцев в их названия, выводимых в наименованиях столбцов перекрестной таблицы, которая получается запросом:

SQL
1
2
3
4
5
TRANSFORM COUNT(z_Нарушения.m) AS [Count-m]
SELECT ТехСостав.ФИО
FROM ТехСостав LEFT JOIN z_Нарушения ON ТехСостав.Код = z_Нарушения.ФИО
GROUP BY ТехСостав.ФИО
PIVOT MONTH([z_Нарушения].[m]) IN (1,2,3,4,5,6,7,8,9,10,11,12)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.02.2016, 11:53
Ответы с готовыми решениями:

Возвратить даты текущего месяца и даты того же месяца, но год назад
Добрый день, не могу сообразить, какой должна быть формула в запросе, чтобо отобразить даты...

Преобразование название месяца в номер месяца в году
Какой командой можно преобразовать "Май" в 5?

С некоторой даты по настоящий день прошло m месяцев, определить название месяца неизвестной даты
С некоторой даты по настоящий день прошло m месяцев, определить название месяца неизвестной даты.

Определить название месяца заданной даты
С некоторой даты по настоящий день прошло m месяцев, определить название месяца неизвестной даты. ...

12
Эксперт MS Access
26815 / 14494 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
26.02.2016, 12:38 2
Visual Basic
1
2
PIVOT monthname(MONTH([z_Нарушения].[m])) IN 
("Январь","Февраль","Март","Апрель",Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь")
0
150 / 28 / 3
Регистрация: 24.08.2014
Сообщений: 485
26.02.2016, 12:44  [ТС] 3
Цитата Сообщение от mobile Посмотреть сообщение
Visual Basic
1
2
PIVOT monthname(MONTH([z_Нарушения].[m])) IN 
("Январь","Февраль","Март","Апрель",Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь")
так пробовал, но пишет, что ошибка синтаксиса (пропущен оператор) в выражении запроса PIVOT monthname(MONTH([z_Нарушения].[m]))
0
Модератор
Эксперт MS Access
12082 / 4942 / 791
Регистрация: 07.08.2010
Сообщений: 14,509
Записей в блоге: 4
26.02.2016, 12:56 4
у мая --кавычки не хватает
0
150 / 28 / 3
Регистрация: 24.08.2014
Сообщений: 485
26.02.2016, 13:03  [ТС] 5
Цитата Сообщение от shanemac51 Посмотреть сообщение
у мая --кавычки не хватает
с кавычками верно заметили)))
но теперь " не соответствие типа данных в выражении условиям отбора"
Данные- в кратком формате даты.
0
Модератор
Эксперт MS Access
12082 / 4942 / 791
Регистрация: 07.08.2010
Сообщений: 14,509
Записей в блоге: 4
26.02.2016, 13:07 6
что такое monthname --без примера базы не понять
имя месяца /функция\какие ее параметры
0
150 / 28 / 3
Регистрация: 24.08.2014
Сообщений: 485
26.02.2016, 13:21  [ТС] 7
Цитата Сообщение от shanemac51 Посмотреть сообщение
-без примера базы не понять
пример
Вложения
Тип файла: rar Primer1.rar (39.0 Кб, 6 просмотров)
0
Модератор
Эксперт MS Access
12082 / 4942 / 791
Регистрация: 07.08.2010
Сообщений: 14,509
Записей в блоге: 4
26.02.2016, 14:10 8
попробуйте
SQL
1
2
3
4
5
TRANSFORM COUNT(z_Нарушения.m) AS [Count-m]
SELECT ТехСостав.Код, ТехСостав.ФИО
FROM ТехСостав LEFT JOIN z_Нарушения ON ТехСостав.Код = z_Нарушения.ФИО
GROUP BY ТехСостав.Код, ТехСостав.ФИО
PIVOT iif(nz([z_Нарушения].[m],"0000"),Format([z_Нарушения].[m],"mm mmmm"));
0
150 / 28 / 3
Регистрация: 24.08.2014
Сообщений: 485
26.02.2016, 14:15  [ТС] 9
Цитата Сообщение от shanemac51 Посмотреть сообщение
попробуйте
SQL
1
2
3
4
5
TRANSFORM COUNT(z_Нарушения.m) AS [Count-m]
SELECT ТехСостав.Код, ТехСостав.ФИО
FROM ТехСостав LEFT JOIN z_Нарушения ON ТехСостав.Код = z_Нарушения.ФИО
GROUP BY ТехСостав.Код, ТехСостав.ФИО
PIVOT iif(nz([z_Нарушения].[m],"0000"),Format([z_Нарушения].[m],"mm mmmm"));
работает, но это не совсем, что нужно: требуется, что бы в столбцах были отражены все месяцы года, а нарушения - в соответствующих ячейках. С номерами месяцев получилось, вот только эти номера нужно преобразовать в названия месяцев
0
Модератор
Эксперт MS Access
12082 / 4942 / 791
Регистрация: 07.08.2010
Сообщений: 14,509
Записей в блоге: 4
26.02.2016, 14:52 10
Лучший ответ Сообщение было отмечено rvg как решение

Решение

отражены все месяцы года, а
это уже мелочи

Добавлено через 15 минут
SQL
1
2
3
4
5
6
TRANSFORM COUNT(z_Нарушения.m) AS [Count-m]
SELECT ТехСостав.Код, ТехСостав.ФИО,COUNT(z_Нарушения.m) AS [ИТОГО]
FROM ТехСостав LEFT JOIN z_Нарушения ON ТехСостав.Код = z_Нарушения.ФИО
GROUP BY ТехСостав.Код, ТехСостав.ФИО
PIVOT iif(isnull([z_Нарушения].[m]),"--",Format([z_Нарушения].[m],"mmmm")) IN 
("Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь")
1
150 / 28 / 3
Регистрация: 24.08.2014
Сообщений: 485
26.02.2016, 15:09  [ТС] 11
Спасибо что надо))
0
Эксперт MS Access
26815 / 14494 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
26.02.2016, 15:24 12
Цитата Сообщение от shanemac51 Посмотреть сообщение
что такое monthname --без примера базы не понять
Visual Basic
1
2
3
4
?monthname(1)
Январь
?monthname(12)
Декабрь
0
Модератор
Эксперт MS Access
12082 / 4942 / 791
Регистрация: 07.08.2010
Сообщений: 14,509
Записей в блоге: 4
26.02.2016, 15:42 13
идею я поняла, но ни разу не сталкивалась

Visual Basic
1
2
3
4
5
6
?monthname(1,False)
Январь
?monthname(1,true)
янв
?monthname(1)
Январь
0
26.02.2016, 15:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.02.2016, 15:42
Помогаю со студенческими работами здесь

Используя оператор switch напечатать название месяца для введённой даты
Ввести произвольную дату как символьную строку вида "25.10.2015" Напечатать название месяца для...

Программа, которая по номеру месяца выдает название следующего за ним месяца
Нужно написать программу, которая по номеру месяца выдает название следующего за ним месяца, был бы...

При вводе порядкового номера месяца вывести название этого месяца
Написать программу, которая при вводе порядкового номера месяца (1, 2, 3 и тд) выводит название...

По введенному номеру месяца выделить в списке название следующего за ним месяца
Помогите пожалуйста, Написать программу, которая по введенному номеру месяца выделяет в списке...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru