Ленточные формы и неприсоединенные элементы управления

Я изменил свойство Режим по умолчанию (Default View) моей формы на значение Ленточные формы (Continuous Form), и мой программный код сошел с ума. Что произошло?

 

Режим Ленточные формы (Continuous Form) (см. разд. "Отображение нескольких записей в любой форме" главы 12) — удобный способ одновременного отображения нескольких записей на форме. Но у него появляется ряд существенных ограничений при соприкосновении с кодом. Вы увидите их, когда вставите свободные или неприсоединенные элементы управления — элементы управления, не связанные с каким-либо полем в БД. В предыдущем примере InfoMessage — образец свободного элемента управления. Ваш код применяет его для отображения текста по вашему желанию. Он не взаимодействует со значением поля в таблице.

В этом и заключается проблема: когда используется свободный элемент, у вас для обработки есть только одна копия. Если соединить свободный элемент с ленточной формой, вы получите парадокс — а именно, существует только один элемент управления, отображающийся на экране в нескольких местах одновременно (рядом с каждой записью).

Это явление — не проблема, если вы не хотите корректировать ваш свободный элемент. Поскольку на самом деле существует только один неприсоединенный элемент управления, когда вы изменяете его в одном месте, он изменяется в других точках отображения. В только что рассмотренном примере, когда начинается редактирование записи, признак режима редактирования появляется рядом с каждой записью, даже если на самом деле редактируется только одна из них.

К сожалению, подобное поведение отражает проектное ограничение Access. Лучший обходной прием — избегать ленточных форм при необходимости использовать свободные элементы управления.

 

 

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100