Тема Контроль даних, що вводяться. Зв’язування таблиць.
Контроль вводимых данных
Microsoft Access может осуществлять проверку данных, вводимых в поле таблицы. Чтобы это происходило, нужно на этапе определения структуры таблицы установить соответствующие свойства поля. Существует два способа выполнения проверки:
1. Задать логическое условие, которое будет проверяться всякий раз, когда в это поле будут вводиться данные, а также сообщение, выдаваемое при нарушении этого условия.
2. Установить маску ввода. Например, в таблице Издания есть числовое поле ГодИздания. Логично проверять, правильно ли вводятся данные в это поле. Можно проверить, что вводятся четыре цифры года и что этот год не больше текущего. Чтобы задать такое условие, выделите поле ГодИздания и найдите на вкладке Общие свойств поля свойство Условие на значение . Условие должно выглядеть следующим образом:
Len(Trim(Str(ГодИздания)))=4 And ГодИздания<=Year(Date())
Здесь Len() — функция, определяющая длину символьной строки;
Str() — функция, преобразовывающая число в символьную строку;
Trim() — функция, обрезающая пробелы в начале и в конце строки;
Year() — функция, возвращающая целое число, соответствующее году в дате;
Date() — функция, возвращающая текущую дату.
Функция Str(), которая преобразует число в строку символов, в случае положительного числа возвращает строку, которая начинается с символа «пробел» (для отрицательных чисел на этом месте будет знак «минус»). Значит, при вводе четырех цифр года она вернет 5 символов, а не 4. Поэтому символ «пробел» нужно обрезать.
1. Итак, введите эту строку в ячейку свойства Условие на значение .
2. Значение следующего свойства — Сообщение об ошибке — может содержать текст сообщения, например: Необходимо ввести 4-значную цифру, не превышающую значение текущего года!
3. Маску ввода обычно используют при вводе дат. Выделите поле ДатаПокупки и посмотрите значение свойства Маска ввода . Оно состоит из двух частей, разделенных символом точка с запятой (;):
- Первая часть — 99.99.00 — состоит из символов, определяющих, что можно вводить в данную позицию поля:
- 9 означает, что можно вводить цифру или пробел, причем ввод не обязателен;
- 0 означает, что можно вводить только цифры и ввод обязателен;
- точка (.) является разделителем между цифрами числа, месяца и года и выводится на экран автоматически. Таким образом, указанный формат маски означает, что число и месяц можно вводить как одной, так и двумя цифрами, а год обязательно двумя цифрами.
- Вторая часть — 0 — означает, что текстовые символы, в данном случае точки, сохраняются вместе с введенными значениями (в противном случае нужно указать 1 или пусто).
4. Маску ввода можно задать вручную или воспользоваться Мастером. Нажмите кнопку с тремя точками справа в свойстве Маска ввода .
5. Эта кнопка называется кнопкой Построителя, и она будет встречаться еще во многих местах.
6. Сначала Access потребует сохранить таблицу. Подтвердите сохранение. Затем появится диалоговое окно Мастера, в котором выводится список стандартных масок для полей времени и даты. Этот список можно дополнять или изменять.
7. Маска ввода должна обеспечить возможность вводить только цифры номера, а остальные символы (скобки вокруг кода города, дефис между цифрами номера) будут добавляться автоматически. Чтобы задать маску, воспользуемся Мастером масок ввода.
8. Выделите поле Телефон. Нажмите кнопку Построителя. В открывшемся диалоговом окне Мастера нажмите кнопку Список Появится диалоговое окно, в нижней части которого находится так называемый навигатор записей — набор кнопок, которые позволяют просматривать записи таблицы в форме.
9. Нажмите крайнюю правую кнопку добавления записи. Все поля в форме очистятся, кроме поля Тип маски — оно по умолчанию имеет значение Текст/свободный.
10. Заполните поля в следующим образом: Описание – Телефон, Маска ввода – 000-00-00, Заполнение - _, и нажмите кнопку Закрыть. В диалоговом окне со списком масок появится новое значение Телефон. Выделите это значение и нажмите кнопку Далее.
11. В нижней части окна есть поле Проба. Вы можете попробовать ввести в нем номер телефона и увидеть, как работает маска. После этого нажмите кнопку Готово . Сформированная символьная строка маски ввода отображается в свойстве Маска ввода для поля