Всплывающие формы и диалоговые окна


Вы, наверное, обратили внимание, что в Access, да и не только в нем, существуют такие окна, которые размещаются на экране поверх всех остальных окон, даже если в данный момент активным является другое окно. Примером такого окна является окно Свойства (Properties) в Конструкторе форм. Вы тоже можете в своем приложении создавать формы такого типа. Они называются всгыывающими формами.
Например, если Главная кнопочная форма, из которой можно выполнить основные действия в приложении, небольшая и не закрывает другие формы, ее можно сделать всплывающей, чтобы она была доступна в любое время. На представлена такая форма, которая находится поверх окна базы данных, хотя оно является активным.
Чтобы форма обладала таким свойством, необходимо присвоить значение Да (Yes) свойству Всплывающее окно (Pop Up). Это свойство находится на вкладке Другие (Other) окна свойств формы .
Обычную форму можно также превратить в модальное диалоговое окно, если свойству Модальное окно (Modal) этой формы задать значение Да (Yes). Модальная форма отличается тем, что пока она открыта, вы не можете переместить фокус на другой объект — форму, меню, кнопку панели инструментов и пр., т. е. другие объекты становятся недоступными, пока не будет закончена работа с данной формой и она не будет закрыта.
Модальные формы обычно используются для создания специальных диалоговых окон, которые запрашивают у пользователя некоторую информацию. Для того чтобы выполнять другие задачи, пользователь должен ввести эту информацию и закрыть форму. Обычно в таком окне устанавливают свойства Кнопка оконного меню (Control Box), Кнопки размеров окна (Min Max Buttons) и Кнопка закрытия (Close Button) таким образом, что эти кнопки не отображались в форме. Зато в самой форме создают две кнопки ОК и Отмена (Cancel). Кнопка ОК позволяет выполнить дальнейшие действия и закрывает форму. Кнопка Отмена закрывает форму и выполняет все действия по прерыванию выполняемой операции. Для этого создают программы VBA или макросы, которые связывают с событием Нажатие кнопки (Click) каждой из этих кнопок.
Обычно для всплывающих или модальных окон изменяют значение свойства Тип границы (Border Style), которое по умолчанию имеет значение Изменяемая (Sizable). Для этого свойства у всплывающей формы обычно устанавливают значение Тонкая (Thin). При этом всплывающую форму можно перемещать по экрану, но нельзя изменить ее размеры. У модальной формы для свойства Тип границы обычно устанавливают значение Окна диалога (Dialog). При этом автоматически отключаются кнопки размеров окна (но кнопку закрытия вам придется отключить вручную, если это нужно), поэтому она не может быть развернута на весь экран, свернута в значок или просто изменена в размерах.
Примером модального диалогового окна является форма "Продажи по годам" (Sales by Year Dialog) в приложении "Борей" (Northwind).
 
Вычисления в формах
Вычисления в формах используются:

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

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

Формулы для вычислений в Access записываются с помощью специального синтаксиса, который диктует правила записи формул и в выражениях Access и в процедурах на VBA. Этот синтаксис несколько отличается от принятого в математике, однако во многом на него похож и интуитивно понятен. Описание синтаксиса вычислительных формул приведено.