последней. Установить такой порядок можно, изменив значение соответствующего свойства, сделав окно «модальным».
Рис. 34. Левый верхний угол окна формы
Рис. 35. Окно свойств
Для просмотра и изменения свойств формы достаточно дважды щелкнуть левой клавишей по квадратику, расположенному в левом верхнем углу окна формы слева от линейки (рис. 35). Этот квадратик устанавливается или убирается вместе с линейкой командой меню окна приложения «Вид Линейка». Окно свойств имеет пять заставок: Макет, Данные, События, Другие, Все. Каждая заставка представляет собой список, в левой части которого указано свойство (то есть название свойства), а в правой – значение свойства. При щелчке левой клавиши мыши в соответствующей строке списка иногда появляется направленная вниз стрелка – предложение развернуть меню. В таком случае значение свойства выбирается из меню. Изменим значения ряда свойств. Для этого выберем заставку «Макет» и установим следующие свойства.
31
|
Установленное |
Комментарий |
Свойство |
значение |
|
|
|
|
Подпись |
Информация о |
Эта подпись всегда расположена |
|
поставщике |
вверху формы |
Допустимые ре- |
Форма |
Теперь нельзя в процессе работы |
жимы |
|
перейти в режим таблицы |
Полосы |
Отсутствуют |
В рассматриваемой форме мы |
прокрутки |
|
работаем только с одной запи- |
Область |
|
сью. Кроме того, мы договори- |
выделения |
Нет |
лись в этой форме не удалять и |
Поле номера за- |
|
не добавлять записей |
писи |
|
|
Кнопка |
Нет |
В рабочем режиме мы не будем |
оконного меню |
|
менять размеры окна или свора- |
Кнопки |
Отсутствуют |
чивать окно |
размеров окна |
|
|
|
|
|
|
|
|
Теперь перейдем к заставке «Данные». В первой строке установлен источник данных – таблица «поставщики». Установим значения «Нет» для свойств «Разрешить удаление» и «Разрешить добавление». Пропустим заставку «События» и сразу перейдем к заставке «Другие».
Рис. 36. Окно поставщика после изменения значений свойств
32
Свойству «Модальное окно» присвоим значение «Да», чтобы форма не перекрывалась другими окнами. Закроем окно свойств и покинем режим конструктора. Форма «поставщики_столбец» теперь будет иметь вид, представленный на рис. 36 (сравните с рис. 12). В этой форме Вы не можете перемещаться по записям, удалять или вводить новые записи!
3.4. Последний штрих. При работе с ленточной формой для получения или ввода более подробной информации о поставщике мы сначала устанавливаем запись, как текущую, щелкнув в соответствующей строке левой клавишей мышки, а уже затем нажимаем «бинокль» внизу формы. Эту операцию можно упростить. Откроем ленточную форму в режиме конструктора и дважды щелкнем левой клавишей мышки по кнопке с изображением бинокля. Откроется окно свойств элемента управления
(рис. 37).
Рис. 37. Окно свойств элемента управления
33
Обратите внимание на присвоенную окну подпись «Кнопка: вход». Здесь указан класс, к которому принадлежит элемент управления – «Кнопка», и заданное нами в диалоговом окне при создании кнопки имя представителя класса – «вход». Выберем заставку «События». С любым элементом управления могут происходить некоторые события. Набор событий в общем случае зависит от класса, к которому принадлежит объект, и каждому событию можно предписать определенные действия. Набор событий, которые могут происходить с кнопкой, представлен на рис. 37. Подробное истолкование этих событий можно найти в любом справочнике по Microsoft Access. Нас сейчас интересует событие «Нажатие кнопки». Этому событию, как видно из рисунка, соответствует «Процедура обработки событий». Дело в том, что когда, при создании кнопки, мы в диалоговом окне задавали параметры элемента управления и, в частности, связанные с этой кнопкой действия, система сама написала за нас процедуру (то есть небольшую программу) на встроен-
ном языке Visual Basic for Applications (VBA).
Чтобы увидеть текст этой процедуры, надо щелкнуть клавишей мышки по соответствующей строке. В конце строки появится маленькая кнопка с троеточием. После нажатия на эту кнопку откроется «Окно модуля» (рис. 38). В этом окне расположены тексты процедур на VBA, но не всех, а только обслуживающих данную форму. В таких случаях говорят о модуле формы.
Обратите внимание! В верхней части «Окна модуля» слева расположено название элемента управления (вход), а справа – название события (Click). Событие Click как раз и есть нажатие кнопки. Пользуясь полосой прокрутки, просмотрим содержимое окна.
В самом верху Вы увидите две инструкции:
Option Compare Database – задает сравнение строк на основе порядка сортировки, определяемого национальной настройкой базы данных, в которой производится сравнение строк.
Option Explicit – налагает на уровне модуля требование на явное описание всех переменных этого модуля.
Дальше следуют тексты четырех процедур, соответствующих четырем созданным нами кнопкам: Private Sub выход_Click(), Private Sub вход_Click(), Private Sub добавить_Click(), Private Sub сохра-
нить_Click(). Каждая процедура начинается с одного из приведенных выше заголовков и заканчивается оператором End Sub. Все, что расположено между заголовком и End Sub, является телом процедуры, со-
34
держащим собственно ее код, то есть последовательность операторов языка.
Рис. 38. Окно модуля формы
Первое ключевое слово в заголовке – Private означает, что данная процедура может быть вызвана только из «своей» формы. Далее следует имя процедуры. Имя состоит из двух частей: имени элемента управления (или другого объекта), с которым связана процедура, и события, которое обрабатывается этой процедурой (в данном случае Click). Вот почему мы дали кнопкам содержательные имена! По имени процедуры мы сразу можем сказать, нажатие какой из четырех кнопок она обслуживает.
Приняв к сведению рассмотренный выше материал, закроем окно модуля, а затем и окно свойств. Таким образом, мы вернемся в ленточную
35