Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сортировка в перекрёстном запросе
 
 автор: Mak&S   (26.10.2007 в 12:04)   личное сообщение
 
 

Имею перекрёстный запрос вида

________| Окраска | Сварка | Склад сырья
Металл1 | 10 | 2 | 65
Металл2 | 5 | 0 | 100

Запрос выводит заголовки столбцов отсортировав их по алфавиту. А нужно сортировать по [ID операции], а в шапку выводить [Название операции]. В идеале должно получаться

_______ | Склад сырья | Сварка | Окраска
Металл1 | 65 | 2 | 10
Металл2 | 100 | 0 | 5

Если делаю заголовки столбцов в конструкторе [ID операции] то выводит как надо, но [Название операции] отсутствует:

_______ | 1 | 2 | 3
Металл1 | 65 | 2 | 10
Металл2 | 100 | 0 | 5

Если делаю заголовки столбцов в конструкторе [Название операции] то сортировка по [ID операции] не проходит. Можно как-нить решить эту проблему?

  Ответить  
 
 автор: Силыч   (26.10.2007 в 13:03)   личное сообщение
 
 

а) попробуйте прописать названия полей в свойстве "Заголовки столбцов" в нужной последовательности

б) скриптом формировать строку для свойства "Заголовки столбцов" в нужной последовательности

  Ответить  
 
 автор: Mak&S   (26.10.2007 в 13:31)   личное сообщение
 
 

а) Не проходит. Всё равно по алфавиту сортирует

Наверно придётся динамически создавать запрос на основе перекрёсного, и затем в нём тасовать нужные столбцы. По мойму через Fields.Item в ADODB получится...

  Ответить  
 
 автор: Силыч   (26.10.2007 в 14:41)   личное сообщение
 
 

а) странно
я написал туда для своего запроса "Город";"Статус";"Дата подписания"
вывело в той же последовательности в которой задал
б)

в) кстати, попробуйте перед названием своего поля ставить номер [ID операции]
типа | 1Склад сырья | 2Сварка | 3Окраска

  Ответить  
 
 автор: Mak&S   (26.10.2007 в 15:34)   личное сообщение
 
 

а) Количество столбцов и их названия в зависимости от критериев отбора разные - ручной вариант набора отпадает.

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

Буду пробовать вариант б) - самый предпочтительный, надеюсь подойдёт.

  Ответить  
 
 автор: Mak&S   (26.10.2007 в 17:26)   личное сообщение
 
 

опуская подробности выходим на строку

Set qdf = db.QueryDefs("qdf_перекрестный")
strFields="Склад сырья;Сварка;Окраска"

Как прикрутить strFields к свойству "Заголовки столбцов" - qdf.xxxxxxx=strFields?

  Ответить  
 
 автор: Силыч   (26.10.2007 в 17:39)   личное сообщение
 
 

вероятно открыть в конструкторе в инвизибл и закрыть с сохранением :)
хтя мож есть свойство такое и так? :)

  Ответить  
 
 автор: Mak&S   (26.10.2007 в 18:15)   личное сообщение
 
 

Надо чуток подправить секцию PIVOT:

PIVOT [Название Операции] In (strfields)

а вариант а) прошёл после сжатия и восстановления базы.

В общем проблема решена. Силыч - спасибо тебе

  Ответить  
 
 автор: Силыч   (26.10.2007 в 20:26)   личное сообщение
 
 

и тебе спасибо :) теперь, когда я буду если с перекрестными запросами работать - буду знать уже без хелпа, куда вписывать поля :)

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList