Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Access 2007_Задания.doc
Скачиваний:
4
Добавлен:
09.09.2019
Размер:
474.11 Кб
Скачать

Проверка вводимых в поле значений

Самый надежный способ обезопасить таблицу от ввода ошибочных или ложных данных – обеспечить их проверку на соответствие определенным требованиям непосредственно при вводе. Некоторую часть работы по проверке допустимости значений данных программа Access выполняет автоматически.

Однако ограничиваться только этими проверками не стоит, и для обеспечения целостности данных следует предусмотреть хотя бы простейшие операции контроля. Эффективнее всего использовать их для числовых, денежных полей и данных типа Дата/время. Характер проверки задается в поле Условие на значение области Свойства поля, и если требования условия на значение не соблюдаются, выдается сообщение об ошибке. Текст такого сообщения можно определить в поле Сообщение об ошибке.

Условие на значение вводится в виде выражения (команды для вычисления значений). В выражениях используются обычные симво­лы арифметических действий: + (сложение), - (вычитание), * (умножение), / (деление). Такие символы называются операторами. Значения, над которыми производятся действия, называются операндами.

Кроме математических, для сравнения числовых величин используются операторы сравнения: > (больше чем), < (меньше чем), = (равно), <> (не равно), <= (меньше или равно) и >= (больше или равно). Для операций с логическими величинами предусмот­рены логические операторы, например And, Or, Not. Логические операторы позволяют так­же соединять атомарные условия, например для числового поля могут быть заданы такие условия, как: >0 (должно быть больше нуля), <>0 (не равно нулю) или >=10 And <=100 (в диапазоне от 10 до 100 включительно). Для текстовых значений существуют оператор конкатенации &, с помощью которого можно объединить несколько строк символе в одну строку, и оператор Like, который проверяет соответствие строкового объекта заданному шаблону.

В выражениях также могут использоваться различные функции, например математические, статистические или получения даты и времени (функция Date()). До и после дат в выражениях ставятся символы #. Вот примеры таких выражений: >=Date() (не ранее сегодняшней даты), >=#01.01.95# And <=Date() (между 1 января 1995 года и сегодняшней датой включительно). Последнее выражение можно записать и в несколько иной форме: Between #01.01.95# And Date(), воспользовавшись другим оператором, Between...And.

Программа Access позволяет задавать проверку значений как на уровне поля, так и на уровне всей таблицы – тогда определенным условиям должны соответствовать значения из рат­ных полей одной записи.

Условие на значение введенных в поле данных срабатывает при выходе пользователя из поля. К таким условиям могут быть отнесены все те примеры, которые были указаны выше.

Условие на уровне таблицы применяется при сохранении всей записи. Например, в каче­стве условия на значение для таблицы Выдача товара можно указать выражение: [ДатаВыдачи]>=[ДатаОформления]. Условие на значение записи указы­вается в области Окно свойств: Свойства таблицы, открыть которую можно в режиме конструктора (вкладка Конструктор), выбрав команду Страница свойств в группе Пока­зать или скрыть (рис. 5).

Рис. 5. Окно Свойства таблицы

Рассмотрим еще один полезный пример, необходимый при работе с базой данных. В таблице Товары для текстового поля Ед_измерения определены только два допустимых значения: кг и шт. Каким образом можно сформулировать условие проверки вводимых в это поле данных? Ограничить набор допустимых значений только двумя элементами можно с помощью следующего условия: "шт" Or "кг". Если набор допустимых значений достаточно большой, то на практике вместо подобного нагромождения опера­торов Or при условии выбора возможных значений из фиксированного набора использу­ется другой оператор, In. В этом случае в поле Условие на значение указывается сле­дующее выражение: In ("шт";"кг").

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

задание

1. Задайте для каждой таблицы следующие свойства полей:

Таблица Товары

Имя поля

Тип данных

Свойства поля

КодТ

Счетчик

Подпись – Код товара

Наименование

Текстовый

Размер поля – 15

Формат поля – >

Обязательное поле – Да

Ед_измерения

Текстовый

Условие на значение – In ("шт";"кг")

Сообщение об ошибке – Можно лишь шт, кг

ЦенаПродажи

Денежный

Формат поля – Денежный

Условие на значение – >0

Сообщение об ошибке – Цена >0!

Наличие

Логический

Формат поля –

;"Имеется"[Синий];"Отсутствует"[Красный]

Таблица Поставщики

Имя поля

Тип данных

Свойства поля

КодП

Счетчик

Подпись – Код поставщика

Фирма

Текстовый

Размер поля – 20

Формат поля – >

Обязательное поле – Да

Адрес

Текстовый

Размер поля – 30

Телефон

Текстовый

Размер поля – 13

Маска ввода – !\(999\)000\-0000;;_

Счет

Текстовый

Размер поля – 14

Маска ввода – 0000\.000\.00000

Таблица Клиенты

Имя поля

Тип данных

Свойства поля

КодК

Счетчик

Подпись – Код поставщика

Фирма

Текстовый

Размер поля – 20

Формат поля – >

Обязательное поле – Да

Адрес

Текстовый

Размер поля – 30

Телефон

Текстовый

Размер поля – 13

Маска ввода – !\(999\)000\-0000;;_

Счет

Текстовый

Размер поля – 14

Маска ввода – 0000\.000\.00000

Таблица Поступление товара

Имя поля

Тип данных

Свойства поля

КодТ

Числовой

Размер поля – Длинное целое

Обязательное поле – Да

КодП

Числовой

Размер поля – Длинное целое

Обязательное поле – Да

Дата

Дата/время

Формат поля – Средний формат даты

Значение по умолчанию – =Date()

Количество_товара

Числовой

Размер поля – Длинное целое

Условие на значение – >0

Сообщение об ошибке – Ошибка ввода!

Обязательное поле – Да

ЦенаПоставки

Денежный

Формат поля - # ##0,00" руб."

Условие на значение – >0

Сообщение об ошибке – Цена >0!

Обязательное поле – Да

Таблица Выдача товара

Имя поля

Тип данных

Свойства поля

КодТ

Числовой

Размер поля – Длинное целое

Обязательное поле – Да

КодК

Числовой

Размер поля – Длинное целое

Обязательное поле – Да

ДатаОформления

Дата/время

Формат поля – ddd", "dd\ mmm", "yyyy

ДатаВыдачи

Дата/время

Формат поля – ddd", "dd\ mmm", "yyyy

Маска ввода - 00\->L<LL\-0000;0;_

Количество_товара

Числовой

Размер поля – Длинное целое

Условие на значение – >0

Сообщение об ошибке – Ошибка ввода!

Обязательное поле – Да

СостояниеЗаказа

Числовой

Источник строк - 1; "Оформляется"; 2; "Обрабатывается";3;"Выполнен"

2. Задайте условие на значение для таблицы Выдача товаров: [ДатаВыдачи]>=[ДатаОформления].

3. Заполните все таблицы данными (не менее 10 записей в каждой).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]