В). Задание условия на значение поля
Маски ввода полезны, но таблица все равно может стать жертвой какой-то неожиданной ошибки. Следующая линия защиты - условие на поле. Создайте поле с именем Отправить_По и установите для него следующие свойства: 1. Задайте Размер поля равным 5. 2. Установите значение свойства Формат поля в >, чтобы переводить данные в верхний регистр. 3. Задайте значение по умолчанию UPS. 4. В поле Условие на значение введите правило в виде IN (UPS, FEDEX, DHL, AIR, BOAT). 5. В поле Сообщение об ошибке (Validation Text) введите Должно быть UPS, FEDEX, DHL, AIR, или BOAT. 6. Задайте Да в ячейке Обязательное поле. Свойство Условие на значение определяет допустимые для Access значения. Правило представляет собой логическое выражение. Если введенное значение удовлетворяет условию, оно принимается. Если же нет, то при попытке перейти в другое поле на экране появляется окно с текстом из поля Сообщение об ошибке. В данном случае правило задано с использованием оператора IN, который проверяет, включено ли ваше значение в список. В нашем случае допустимы значения UPS, FEDEX, DHL, AIR или BOAT. Вводить можно и в нижнем регистре, так как в соответствии с форматом введенное значение будет преобразовано в верхний регистр. Для проверки численного значения используются перечисленные ниже операторы: Например, если вы вводите значение в поле Ставка, содержащее почасовую ставку оплаты труда, то неплохо было бы позаботиться, чтобы пользователь не ввел 75,0 вместо 7,50. Чтобы избежать подобных неприятностей, используйте условие <10: это даст гарантию, что в таблице не окажется ставок, превышающих 10. Для задания некоторого диапазона значений используется оператор BETWEEN... AND (между... и). Вот пример его использования: BETWEEN 5 AND 8,25. Если тип поля определен как Дата/время, то условие может использоваться для сравнения дат. Надо лишь заключить даты между символами #, например, так: ># 10.22.96. Можете не сомневаться, дат ранее 22 октября 1996 года в вашей таблице не будет. Поля MEMO и Текстовое предоставляют еще большие возможности контроля за вводом. Можно проверить позиции конкретных символов или ограничить их набор. Для этого служит оператор LIKE и шаблоны? (любой символ, но только один), * (произвольное количество любых символов) и # (цифра). Выражение с оператором LIKE означает, что вводимое значение следует сравнивать с образцом. Это аналогично маске ввода, но с возможностью вывода дополнительного сообщения об ошибке. Например, если вы используете для ввода почтового индекса маску ввода, то при ошибке Access сообщит нечто маловразумительное. Можно задать условие LIKE "# # # # #" OR LIKE "# # # # # -# # # #", которое предполагает, что введенное значение должно состоять либо из пяти цифр, либо из пяти цифр, дефиса и еще четырех цифр. Кроме того, неплохо задать текст сообщения об ошибке, например, «Введите 5- или 9-значный почтовый индекс». Чтобы ограничить набор вводимых символов (если этого нельзя сделать с помощью маски ввода), заключите допустимые символы в квадратные скобки. Например, предположим, что для определения местонахождения изделия на складе вы используете специальный код. Он начинается с букв А, Б, В или Г, обозначающих сектор, за которым следуют цифры 1, 2, 3 или 4, означающие номер бункера. За ними идет дефис, а за ним - четырехзначное число, определяющее само изделие. В результате получается значение вроде А 1-1234 (изделие 1234 в бункере 1 в секторе А). Вроде бы сложно, но это не так. Начнем с маски L0-# # # #. Она требует ввода буквы, цифры и числа, а дефис уже указан в маске, и его не надо вводить. Затем вы задаете условие на значение в виде LIKE “[АБВГ][1234]# # # #". Теперь неправильный код ввести будет невозможно: в первой позиции окажутся только буквы А, Б, В или Г, а во второй - цифры 1, 2, 3 или 4. Чтобы указать значения, которые вводить категорически запрещается, поставьте перед ними восклицательный знак. Условие LIKE [!ЭЮЯ] позволит ввести любой символ кроме Э, Ю или Я. УСЛОВИЕ НА ЗНАЧЕНИЕ и СООБЩЕНИЕ ОБ ОШИБКЕ:
Для ПОИСКА значений полей, записей или имен файлов допускается применение следующих символов в диалоговых окнах Поиск и Замена или в запросах, командах и выражениях.
Функция DateSerial – возвращает значение типа Variant (Date), соответствующее указанному году, месяцу и дню. Синтаксис DateSerial(year, month, day). где year – Обязательный. Значение типа Integer. Число от 100 до 9999 включительно или числовое выражение. month – Обязательный. Значение типа Integer. Любое числовое выражение. day – Обязательный. Значение типа Integer. Любое числовое выражение.
|