Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сортировка в перекрёстном запросе / 17 сообщений из 17, страница 1 из 1
01.04.2010, 09:03
    #36554439
alvk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в перекрёстном запросе
У меня есть перекрёстный запрос, он прицеплен. Не могу никак отсортировать Месяцы, т.е. заголовки столбцов, они получены из даты, реальной, конечно можно сделать типа 200911 и 201002, но хочется покрасивее. Помогите, кто сможет, может кто сталкивался?
...
Рейтинг: 0 / 0
01.04.2010, 09:20
    #36554466
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в перекрёстном запросе
alvk,
можно сделать
Код: plaintext
Pivot Выражение In ("СтрокаПравильнойСортировкиСРазделителями")
Отсортируется как надо.
Типа такого
Код: plaintext
Pivot Format([ПолеДаты],"mmmm yyyy") In ("Январь 2009", "Февраль 2009", ...)

Другой, более сложный вариант это создать запрос, в котором столбец дат будет правильно отсортирован и подцепить его джойнами к исходному запросу.
Третий вариант: изначально создать правильную сортировку в селекте перекрестного запроса.
...
Рейтинг: 0 / 0
01.04.2010, 09:44
    #36554506
alvk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в перекрёстном запросе
mds_worldalvk,
можно сделать
Код: plaintext
Pivot Выражение In ("СтрокаПравильнойСортировкиСРазделителями")
Отсортируется как надо.
Типа такого
Код: plaintext
Pivot Format([ПолеДаты],"mmmm yyyy") In ("Январь 2009", "Февраль 2009", ...)


Это конечно можно реализовать, то, что в скобках, подобную конструкцию я создавал, не думаю, что это самый простой вариант, скорее самый сложный, нужно будет в vba формировать строку и возможно где-то хранить, попробую конечно, если ничего другого не выйдет

mds_world
Другой, более сложный вариант это создать запрос, в котором столбец дат будет правильно отсортирован и подцепить его джойнами к исходному запросу.

Вот этого не понял, мой запрос изначальный вот:
Код: plaintext
1.
2.
3.
4.
 SELECT бухкосв.тип, бухкосв.распкосв, Max(Авто.дата) AS dat, Format(Max([дата])," mmmm yyyy") AS period
FROM бухкосв INNER JOIN Авто ON бухкосв.период = Авто.период
GROUP BY бухкосв.тип, бухкосв.распкосв
HAVING (((Max(Авто.дата))># 9 / 30 / 2009 #))
ORDER BY Max(Авто.дата);
mds_world
Третий вариант: изначально создать правильную сортировку в селекте перекрестного запроса.
Ему по барабану, он и в изначальном так сортирует(вариант без сортировки по дате) начинает с декабря:
...
Рейтинг: 0 / 0
01.04.2010, 09:52
    #36554531
qwrqwr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в перекрёстном запросе
alvk
Это конечно можно реализовать, то, что в скобках, подобную конструкцию я создавал, не думаю, что это самый простой вариант, скорее самый сложный, нужно будет в vba формировать строку и возможно где-то хранить, попробую конечно, если ничего другого не выйдетне так уж все страшно :)
/topic/718884#8038608
...
Рейтинг: 0 / 0
01.04.2010, 09:54
    #36554538
alvk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в перекрёстном запросе
qwrqwr,

Не буду же я постоянно забивать эти месяцы ручками ! Время то идёт, скоро март появится, через месяц апрель и т.д.
...
Рейтинг: 0 / 0
01.04.2010, 09:57
    #36554547
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в перекрёстном запросе
alvkЕму по барабану, он и в изначальном так сортирует(вариант без сортировки по дате) начинает с декабря:Попробуйте завернуть в еще один селект (select * from (...) ) и задать сортировку по dat
...
Рейтинг: 0 / 0
01.04.2010, 10:14
    #36554583
alvk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в перекрёстном запросе
mds_world,

попробовал результат тот же, а может это зависеть от того, что у меня таблицы на SQL? или я уже не туда копать начал?
...
Рейтинг: 0 / 0
01.04.2010, 10:27
    #36554626
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в перекрёстном запросе
alvkqwrqwr,

Не буду же я постоянно забивать эти месяцы ручками ! Время то идёт, скоро март появится, через месяц апрель и т.д.1. Если запрос сохраненный, то всегда можно менять ему SQL, забивая нужную строку в процедуре
2. Можно сделать длинную-длинную строку на много лет, ограниченную только максимальной длиной запроса.
3. Если запрос строится динамически, то вообще вопросов нет. Делать нужную строку в коде.
...
Рейтинг: 0 / 0
01.04.2010, 10:38
    #36554665
alvk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в перекрёстном запросе
mds_world,

Подумал я и решил, сделал маленькую табличку, с одним полем мемо, формирую туда строку из period, а в перекрёстном буду подставлять её(строку) в in(..)
...
Рейтинг: 0 / 0
01.04.2010, 10:40
    #36554675
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в перекрёстном запросе
alvkПодумал я и решил, сделал маленькую табличку, с одним полем мемо, формирую туда строку из period, а в перекрёстном буду подставлять её(строку) в in(..)Тоже вариант. Почему нет? Только не забывать удалять записи из этой таблицы перед использованием.
...
Рейтинг: 0 / 0
01.04.2010, 10:46
    #36554696
alvk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в перекрёстном запросе
mds_world,

а там одна запись всегда будет, заполняю её редактированием рекордсета из её самой.
...
Рейтинг: 0 / 0
01.04.2010, 11:15
    #36554799
Сортировка в перекрёстном запросе
Может проще было бы вместо "Январь 2009" и т.п. рисовать "2009_01"?
...
Рейтинг: 0 / 0
02.04.2010, 02:23
    #36556841
alvk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в перекрёстном запросе
Анатолий ( Киев ),

Попробую так, а то у меня не получается переменную вставить в перекрёстный запрос, никак не могу разобраться с синтаксисом " pivot поле in (переменная)
То пишет ошибку, то параметра не хватает, то поле обзывает так, как я в скобках нарисовал, типа : &переменная&, "&переменная&" и т.д. :(
...
Рейтинг: 0 / 0
23.07.2010, 21:46
    #36757392
Stein21
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в перекрёстном запросе
Вообще печально всё это...
Что никто не придумал способа сортировки , кроме как
Код: plaintext
Pivot Выражение In ("СтрокаПравильнойСортировкиСРазделителями")
А если Я не знаю заранее какие поля будут... Всё? никак не отсортировать получаеться...
...
Рейтинг: 0 / 0
23.07.2010, 22:20
    #36757420
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в перекрёстном запросе
Stein21,

Ну, не все так грустно. Можно
- открыть переrрестный запрос в рекордсете
- прочитать поля
- создать строку Pivot
- открыть QueryDef.SQL для этого запроса
- заменит строку Pivot
- запомнить
- выполнить
- вернуть строку Pivot

И все. Очень просто
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
20.07.2017, 01:26
    #39491943
Сортировка в перекрёстном запросе
mds_world
Другой, более сложный вариант это создать запрос, в котором столбец дат будет правильно отсортирован и подцепить его джойнами к исходному запросу.
Третий вариант: изначально создать правильную сортировку в селекте перекрестного запроса.



пожалуйста, приведите кто-нибудь примеры этих двух вариантов?
...
Рейтинг: 0 / 0
21.07.2017, 09:27
    #39492786
Сортировка в перекрёстном запросе
Особенно интересует пример:

Третий вариант: изначально создать правильную сортировку в селекте перекрестного запроса.

есть затруднение с решением вопроса:
надо отсортировать заголовки столбцов по значению, сохраненному в отдельном поле показателя сортировки (заранее сохраненного в таблице), но самого этого поля показателя сортировки в заголовке столбцов не должно быть.
Как решить?

Спасибо
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сортировка в перекрёстном запросе / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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