ПОСЕЛЕНИЕ ГОСТЕЙ, ИЛИ ЗНАКОМСТВО С ФОРМОЙ

После того, как мы научились, рассчитавшись, веж­ливо прощаться с гостями, нужно научиться более приятно встречать их. Действительно, если при поселении гостей Вы будете работать непосредственно с таблицей “Гости”, то однажды почувствуете некоторую недоброжелательность к очередному гостю – так неудобна работа непосредственно с таблицей. А так как гостей нужно встречать с улыбкой (вспомните Маргариту на балу!), то мы и переходим к бо­лее приятному способу общения с таблицами. Для этого в Access существуют формы. Не переживайте, что смысл сло­ва “форма” в отличии от слов “таблица” и “запрос” пока неясен. Познакомившись с ней, Вы увидите, что это очень удобная вещь, хотя жаль, что она так безлико называется.

Мы не будем создавать свою первую форму вручную, а поручим это Мастеру (разве можно обойтись без Булгакова?).

Выбрав вкладку “Форма” (вкладок остается все меньше, но даются они все труднее), щелкните на кнопке “Создать”. В окне “Создание формы” в списке “Выбор таблицы/запроса” выберите “Гости” и щелкните левой кнопкой мыши. Затем щелкните на кнопке “Мастера”.

В окне “Мастера по разработке форм” необходимо выбрать один из мастеров создания формы:

  • в один столбец (колонный)
  • табличная форма
  • диаграмма
  • составная форма
  • простая форма.

Оставьте значение по умолчанию “В один столбец” и щелкните “ОК”. Другие форматы (мастера) приводят к более сложным формам, с которыми непросто работать.

Далее следует выбрать поля таблицы, которые будут присутствовать в Вашей форме. Первоначально все поля находятся в списке “Имеющиеся поля”. Выбранные Вами поля должны переходить в список “Порядок полей в фор­ме”. Для этого необходимо дважды щелкнуть на нужном поле. Если Вы ошибочно занесли какое-либо поле, то дважды щелкните на нем и оно вернется в список “Имеющиеся поля”. Для переноса полей по одному можно воспользоваться кнопками “>” и “<”. Для перенесения всех записей служат кнопки “>>” и “<<”.

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

После того, как форма создана, с ней можно рабо­тать в трех режимах: режиме конструктора, режиме таблицы и режиме формы. Установите режим формы и введите данные нового гостя. Не правда ли, работа с формой значительно приятнее, нежели с таблицей. Вы можете убе­диться, что записи заносятся в таблицу “Гости”, открыв непосредственно эту таблицу.

При колонном (в один столбец) формате создаётся классическая форма – одна запись на страницу. При таб­личном – выводятся несколько записей на страницу. Это более информативный формат, но он менее удобен и его нередко приходится корректировать. Не огорчайтесь, что при работе с формой еше многое неясно, мы уделим ей немало времени во второй части учебного пособия.

А сейчас пришло время вернуться к самой таблице “Гости”. Это вызвано следующей причиной. Когда Вы, поселяя гостя, вводите его номер комнаты, вполне возможны ошибки ввода. Эти ошибки могут иметь различный характер. Очевидно, что для нашей гостиницы допустимы 18 трехзначных чисел: 101, …, 306, представляющие номера всех комнат.

В Access имеется возможность при вводе данных пропускать их через фильтр, который называется маской ввода. Для текстового поля основное назначение маски –распознавать буквы и цифры. В нашем случае через фильтр нужно пропустить только цифры, причем их должно быть три. Для этого необходима маска из трех нулей: 000.

Задание маски осуществляется в режиме конструктора. Маска ввода находится в панели “Свойства полей”.

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

Попробуйте после задания маски при вводе номера (в форме или непосредственно в таблице “Гости”) ввести номер комнаты с ошибкой – пусть в нём будет 2 или 4 цифры, или же в нём будет буква. Фильтр (маска ввода) не пропустит этих ошибок.

Таким образом, фильтр не разрешает ввод некото­рых заведомо неверных данных. Тем не менее, он “пропустит” поселение гостя в несуществующую комнату, например, 110-ю. Более того, он разрешит “поселить” Вас на несуществующий этаж нашей гостиницы, например, в комнату 510. Эти проблемы нужно решать другими методами, которые мы рассмотрим во второй части пособия.

В таблице “Этажи” маску для поля “Номер комнаты” можно не задавать, т.к. эти записи вносятся один раз (если только гостиница не будет расти ввысь и вширь).