Элемент управления Поле со списком


Элемент управления Поле со списком (ComboBox) во многом аналогичен элементу управления Список (ListBox). Применяется он в формах для той же самой цели, т. е. когда требуется, чтобы значение поля в таблице не вводилось вручную, а выбиралось из известного списка значений. Как правило, этими списками являются различного рода справочники. Отличий между этими типами элементов управления три:

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

Основные свойства для элемента управления Поле со списком (Combo Box) такие же, как и у элемента управления Список (List Box), однако есть дополнительные свойства, которые определяют формат вывода данных в текстовую часть поля: Формат поля (Format), Число десятичных знаков (Decimal Places), Маска ввода (Input Mask).
Еще два дополнительных свойства определяют особенности работы поля со списком:

  • Ограничиться списком (Limit To List). Это свойство может иметь значение Да (Yes), и тогда значение, которое вводится в поле, должно обязательно совпадать с одним из элементов списка, или Нет (No), и тогда список может дополняться значениями, вводимыми в текстовую часть поля со списком. Если значение этого поля Да, а вводимое значение не совпадает ни с одним из элементов списка, Access выдает сообщение об ошибке. Все ситуации, возникающие при вводе нового значения в поле, могут быть обработаны с помощью макроса или процедуры VBA, например, чтобы расширить список значений .
  • Автоподстановка (Auto Expand). Это свойство обычно имеет значение Да, что обеспечивает удобный выбор значения из списка. Так как списки в данном случае могут быть длинными, например список клиентов, прокручивать их в поисках нужного значения неудобно. Однако можно просто ввести необходимое значение в текстовую часть поля. При этом Access автоматически подставит в поле то значение из списка, у которого первые буквы совпадают с введенными.

Обычно поле со списком используется для.тех полей базовой таблицы, которые служат внешними ключами, т. е. содержат значения, соответствующие первичным ключам записей в какой-либо другой таблице. В таблице такие поля обычно определяют как поля подстановки, т. е. при отображении этих полей отображается не то значение, которое содержится в данном поле, а соответствующее значение из связанной таблицы (ведь ключом часто является ничем не примечательный код) . В этом случае Мастер форм при создании формы автоматически создаст для таких полей поля со списком и задаст их свойства.
Совет
Если вы в режиме Конструктора хотите создать элемент управления Поле со списком (Combo Box) для поля таблицы, являющегося полем подстановки, лучше делать это путем перетаскивания поля из окна Список полей (Field List), т. к. в этом случае все свойства элемента будут заданы автоматически.
Элемент управления Кнопка
Элемент управления Кнопка (Command Button) является очень важным элементом формы, поскольку именно с кнопками связаны различные действия, выполняемые пользователем в приложении (сохранение введенных данных, вызов другой формы, вывод на печать документа и т. д.). Обычно кнопка выбирается, когда пользователь щелкает по ней мышью. Однако можно выбрать (нажать, т. к. визуально это именно так и выглядит) кнопку, используя только клавиатуру. Для этого нужно поместить на нее фокус, т. е. сделать активной, нажимая клавишу <Таb>, а затем нажать клавиши <Пробел> или <Enter>. Для этой же цели можно назначить кнопке специальную комбинацию клавиш.
Создать кнопку намного удобнее с помощью Мастера кнопок, поскольку он выполнит за вас большую работу и даже напишет программу, которая будет выполнять действия, для которых данная кнопка предназначена. Например, рассмотрим процесс создания кнопки, которая будет открывать новую форму:

  1. Создайте в режиме Конструктора пустую форму.
  2. Выберите на панели элементов элемент управления Кнопка (CommandButton) (кнопка Мастера (Control Wizards) на панели элементов должна быть нажата).
  3. В появившемся диалоговом окне вы увидите два списка: левый список содержит категории действий, а правый — сами действия. Выберите в списке Категории (Categories) значение Работа с формой (Form Operations).
  1. В поле Действия при этом появится список действий, относящихся к этой категории. Выберите значение Открыть форму (Open Form) и нажмите кнопку Далее (Next).
  2. В следующем окне мастера требуется выбрать форму, которую нужно открывать с помощью кнопки. Выберите одну из форм, например "Заказы" (Orders).
  3. В третьем диалоговом окне Мастера кнопок нужно выбрать, все ли записи будут отображаться в открываемой форме, или отобрать записи, связанные с записями в данной форме. Поскольку наша форма не содержит пока ни одного поля, мы не сможем задать критерии отбора. Соответственно, следует выбрать второй переключатель: Открыть форму и показать все записи (Open the form and show all the records), после чего нажать кнопку Далее (Next).
  4. В следующем окне предлагается выбрать рисунок, который вы хотите поместить на кнопку, или задать надпись. Чтобы увидеть список всех готовых рисунков, необходимо установить флажок Показать все рисунки (Show All Pictures). Чтобы отобразить надпись на кнопке, выберите переключатель Текст (Text) и введите текст надписи, например совпадающий с именем формы: "Заказы". Нажмите кнопку Далее (Next).
  1. В последнем окне Мастера кнопок требуется ввести имя кнопки. Оно может не совпадать с надписью на кнопке, но должно быть коротким и понятным. В’дан-ном случае можно оставить тот же текст, что и в надписи: Заказы. Нажмите кнопку Готово (Finish).

На форме появилась кнопка. Если вы потом решите все-таки поместить на кнопку какую-нибудь картинку, это можно сделать, установив свойство Рисунок (Picture), для чего вы можете воспользоваться Построителем, который предлагает либо выбрать одну из стандартных картинок, либо использовать графический файл, например созданный в графическом редакторе Paint в Windows .
Можно назначить элементу управления Кнопка (Command Button) комбинацию клавиш. Это бывает оправдано, например, если пользователь работает с клавиатурой и ему неудобно для нажатия кнопки переключаться на мышь, а также, если в форме много элементов и для активизации кнопки приходится много раз нажимать клавишу <Tab>. Чтобы назначить кнопке комбинацию клавиш, в свойстве Подпись (Caption), которое определяет надпись на кнопке, выбирают одну букву (она необязательно должна быть первой) и добавляют перед ней знак амперсанта (&). Выбранная буква в надписи на кнопке будет подчеркнута. Тогда для того, чтобы выбрать кнопку, достаточно просто нажать комбинацию клавиш <Аlt>+<выбранная буква>, в нашем примере — это <Alt>+<3>.
Для любой формы можно создать две специальные кнопки:

  • Одна будет "нажиматься" всякий раз, когда пользователь нажмет клавишу <Enter> и независимо от того, на каком элементе формы установлен фокус. Такая кнопка определяет действие по умолчанию, и для нее свойству По умолчанию (Default) присваивают значение Да (Yes).
  • Вторая кнопка "нажимается" всякий раз, когда пользователь нажмет клавишу <Esc>, и опять независимо от того, на каком элементе формы установлен фокус.

Такая кнопка играет роль отмены по умолчанию. Для нее должно быть присвоено значение Да (Yes) свойству Отмена (Cancel).