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

Форум: MS ACCESS

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

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

 
 

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

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

тема: загрузка сложной формы
 
 автор: alexkn   (27.04.2009 в 23:57)   личное сообщение
 
 

Есть ленточная форма с краткими данными на клиента. При щелчке на какой-либо записи открывается полная анкета этого клиента- доволькно сложная форма с подформами, картинками и т.д. Обе формы базируются нна одном и том запросе. Вопрос в том, что вторая форма открывается на первой записи рекордсета а затем переходит к требуемой, фактически форма перерисовывается дважды, а поскольку она сложная, то получается неприятное мерцание. Можно как-то убрать прорисовку формы при открытии, оставить только прорисовку на текущей записи? Сразу поставить фильтр на эту запись - нельзя, так как меня интересуют и соседние записи тоже

  Ответить  
 
 автор: Lukas   (28.04.2009 в 00:26)   личное сообщение
 
 

1 вар. Открыть таки форму с фильтром. Добавить свои кнопки Назад/Вперед для изменения фильтра?
2 вар. Форма без источника. На событии Form_Open присваивать форме источник - запрос, возвращающий одну запись (и подчиненным наверное тоже надо присваивать источники здесь же). Кнопки Назад/Вперед, изменяющие источники? (С подчиненными не пробовал)

  Ответить  
 
 автор: snipe   (28.04.2009 в 00:28)   личное сообщение
 
 

Как вариант
открыть форму в невидимом режиме....
пнуть на нужную запись...
отобразить форму

  Ответить  
 
 автор: Lukas   (28.04.2009 в 00:42)   личное сообщение
 
 

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

  Ответить  
 
 автор: Goblin   (28.04.2009 в 08:24)   личное сообщение
 
 

Лично я со своими убогими знаниями обхожусь следующим образом. На первую форму поставь кнопку - открытие формы по критерию. Мастер сам все спросит и подскажет. Затем полученный код копирую и ставлю на двойной щелчек како-либо ячейки первой формы, а кнопку убираю, вместе с кодом, что бы не засоряла. Работает без замечаний в любой сложности формы.

  Ответить  
 
 автор: alexkn   (28.04.2009 в 21:53)   личное сообщение
 
 

Вариант Snipe интересен, я пытался так сделать, но получаю сообщение, что docmd.goto неыозможен в режиме конструктора. Видимо то, что форма скрвта, воспринимается как режим конструктора

  Ответить  
 
 автор: alexkn   (28.04.2009 в 22:57)   личное сообщение
 
 

Прошу прощения- появляется такое сообщение "Невозможен переход к увазанной записи!"

Кусок кода таков

DoCmd.OpenForm frmDetails, , , Pub(13), , acHidden

DoCmd.GoToRecord , , acGoTo, pubrec
Forms!frmDetails.Visible = True

В этот момент и ругается. Запись заведомо существует, если убрать acHidden, то все работает, но дребезжит

  Ответить  
 
 автор: snipe   (29.04.2009 в 03:02)   личное сообщение
 
 

DoCmd.OpenForm "форма2", acNormal, "", "", , acHidden
DoCmd.GoToRecord acForm, "форма2", acGoTo, Me.CurrentRecord
Forms!форма2.Visible = True

  Ответить  
 
 автор: alexkn   (29.04.2009 в 19:58)   личное сообщение
 
 

Спасибо Snipe, помогло. Так в чем тут фишка была? В параметре acForm ы строке
DoCmd.GoToRecord acForm, "форма2", acGoTo, Me.CurrentRecord ?

  Ответить  
 
 автор: snipe   (30.04.2009 в 01:45)   личное сообщение
 
 

DoCmd.OpenForm "форма2", acNormal, "", "", , acHidden

acNormal - по моему тут, если этого параметра нет - то форма открывается в режиме конструктора

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