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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Изменение свойств сохраненного запроса через VBA
 
 автор: kenin   (19.01.2013 в 11:13)   личное сообщение
 
 

Добрый день!
Имеется сохраненный перекрёстный запрос как источник подчиненной формы, но при открытии формы – ругается «невозможно использование перекрестного запроса в качестве источника записей в подчиненной форме – измените значение свойств заголовки столбцов»
Делаем в конструкторе в свойствах «заголовки столбцов» например 0;1;2;3;4 (что соответствует нашим столбцам) – все ок, но… к-во и наименование столбцов каждый раз различно (на то он и перекрестный запрос) соответственно это свойство нужно менять в VBA, как я понимаю через QueryDefs. Возможно ли это и как? Второй день капаю – мозг уже сломал.

  Ответить  
 
 автор: kot_k_k   (19.01.2013 в 11:21)   личное сообщение
 
 

а почему не вставить запрос как подчиненная форма/отчет, а не источник записей?

  Ответить  
 
 автор: kenin   (19.01.2013 в 12:29)   личное сообщение
 
 

Мастер сформирует форму из запроса (т.е. все равно будет форма с источником записей из перекрестного запроса), но с фиксированным к-вом полей из столбцов запроса. У меня поля формы формируются динамически перебором из rst.Fields (QueryDefs), т.к. к-во столбцов может быть разное. Пример - разбивка года по квартально 4 столбца, по месячно - 12

Т.е. мне нужно чтобы в форме отображался перекрестный запрос с динамическим к-вом полей (Пример - разбивка года по квартально 4 столбца, по месячно - 12). Отдельно форму я сделал (поля формы формируются динамически перебором из rst.Fields (QueryDefs). ) - в табличном режиме - все ок. Теперь нужно вставить это в другую форму. Проблема - см. выше.

  Ответить  
 
 автор: kot_k_k   (19.01.2013 в 12:56)   личное сообщение
 
 

1. поясните конечную цель ваший действий?
2. почему нельзя просто вставить запрос в форму? - никакого гемора вообще нет.

3. если это запрос на 12 месяцев - сделай его не перекрестным, а групповым с суммированием
типа
select .... , SUM(iif( Month(дата)=1, Kol_vo, 0)) as Pole_1, SUM(iif( Month(дата)=2, Kol_vo, 0)) as Pole_2 .... from tabla .....

п.с. подправил добавил SUM

  Ответить  
 
 автор: kenin   (19.01.2013 в 14:38)   личное сообщение
 
 

Конечная цель - вывести в форме ввиде таблицы перекрестный параметрический запрос с динамически изменяемым количеством полей (столбцов) (может быть 3 столбца, а может 20)

  Ответить  
 
 автор: kot_k_k   (19.01.2013 в 14:50)   личное сообщение
8 Кб.
 
 

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

или я чего-то не понимаю

  Ответить  
 
 автор: kenin   (19.01.2013 в 14:55)   личное сообщение
 
 

Должна отзываться на деиствия юзера :) Вообщем пошел немного по другому пути. Спасибо!!!

  Ответить  
 
 автор: kot_k_k   (19.01.2013 в 14:57)   личное сообщение
 
 

так может во временную таблу все спихивать и программно показывать только первых N столбцов таблы? на основании кол-ва полей перекрестного запроса.

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