Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обновление подчиненной формы, Необходимо обновить подчиненную форму 
:(
    Опции темы
Devourer
Дата 21.11.2008, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 23.8.2008

Репутация: нет
Всего: нет



Есть главная форма, в ней подчиненная. Подчиненная форма(name="PodForm") формируется на основании запроса(name="zapr").
В главной форме, на основе выбраных пользователем параметров, происходит формирование запроса zapr.(выбираем нужные условия жмем кнопку----фармим запрос)

Проблема:
Так получается, что в зависимости от условий, выбраных пользователем, запрос может иметь различное количество столбов. Если сформировать zapr с другими условиями, то форма обновляется не полностью. Остаются теже столбци(уже с новыми данными), а новых дополнительно выбранных, нету.

Для обновления подчиненной формы прописывал---- Me.PodForm.Form.Requery
PM MAIL ICQ   Вверх
bopoha
Дата 21.11.2008, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Цитата(Devourer @  21.11.2008,  10:44 Найти цитируемый пост)
Для обновления подчиненной формы прописывал---- Me.PodForm.Form.Requery 

Вместо этого можно переприсовить запрос в источнике данных подчиненной формы. Но это танцы с бубнами.

Цитата(Devourer @  21.11.2008,  10:44 Найти цитируемый пост)
Так получается, что в зависимости от условий, выбраных пользователем, запрос может иметь различное количество столбов. 

Увы, на форме новые столбцы не появятся. В запросе должны существовать поля, на которые ссылаются элементы управления подчиненной формы.
PM MAIL WWW ICQ Skype GTalk   Вверх
Devourer
Дата 21.11.2008, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 23.8.2008

Репутация: нет
Всего: нет



Иными словами... надо танцевать с бубном ))))

Я потестил форму:

Столбци добавляются если зайти в конструктор форм и после этого вернуться снова в режим формы, но я не знаю как реализовать подобное действие програмно. 
Может кто нить знает?
PM MAIL ICQ   Вверх
Akina
Дата 21.11.2008, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(Devourer @  21.11.2008,  12:59 Найти цитируемый пост)
Столбци добавляются если зайти в конструктор форм и после этого вернуться снова в режим формы, но я не знаю как реализовать подобное действие програмно. 

Код

Form.Hide
Form.CurrentView=acCurViewDesign
Form.Repaint
Form.CurrentView=acCurViewFormBrowse
Form.Show



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
bopoha
Дата 21.11.2008, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Akina, в mde работать не будет.
PM MAIL WWW ICQ Skype GTalk   Вверх
Devourer
Дата 21.11.2008, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 23.8.2008

Репутация: нет
Всего: нет



Да действительно не работает... 
А можно туже идею только работающим кодом? smile 


Это сообщение отредактировал(а) Devourer - 21.11.2008, 16:08
PM MAIL ICQ   Вверх
Akina
Дата 21.11.2008, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(bopoha @  21.11.2008,  15:39 Найти цитируемый пост)
в mde работать не будет.

Конечно. Но про MDE никто и не говорил.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
bopoha
Дата 21.11.2008, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Devourer, предполагаю, вместо Form нужно использовать Me.
И будет лучше сделать на оборот. А то в слепую гадать что там у вас тяжело.

Это сообщение отредактировал(а) bopoha - 21.11.2008, 17:57
PM MAIL WWW ICQ Skype GTalk   Вверх
Akina
Дата 21.11.2008, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(bopoha @  21.11.2008,  18:57 Найти цитируемый пост)
предполагаю, вместо Form нужно использовать Me.

Предполагается, что вместо имени класса Form будет правильная ссылка на конкретную форму.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Devourer
Дата 23.11.2008, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 23.8.2008

Репутация: нет
Всего: нет



Код

Application.Forms("Имя_формы").Hide  'Application-defined or object-defined error
Application.Forms("Имя_формы").CurrentView = acCurViewDesign ' объект доступен только для чьтения
Application.Forms("Имя_формы").Repaint 'отрабтывает
Application.Forms("Имя_формы").CurrentView=acCurViewFormBrowse ' объект доступен только для чьтения
Application.Forms("Имя_формы").Show 'Application-defined or object-defined error



Я наверно чего-то недоганяю... по идее написано верно... только где ошибка???
PM MAIL ICQ   Вверх
Devourer
Дата 24.11.2008, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 23.8.2008

Репутация: нет
Всего: нет



В принципе эту проблемку можно решить так:
Код

DoCmd.Close acForm, "Имя_формы", acSaveYes
DoCmd.OpenForm "Имя_формы", acDesign
DoCmd.Close acForm, "Имя_формы", acSaveYes
DoCmd.OpenForm "Имя_формы", acNormal


но лично мне интересно узнать что вы Akina предлогали...

Можете выложить ваш пример?
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.1295 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.