Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Access_2007.doc
Скачиваний:
257
Добавлен:
17.03.2015
Размер:
20.6 Mб
Скачать

Глава 4

Блокировка неправильных данных

Даже лучшие проектировщики БД проводят бессонные ночи, тревожась об ошибках, спо­собных проникнуть в их БД. Неверные данные — печально известная проблема, эти данные проникают в БД, прячутся там с течение месяцев и проявляют себя, только когда вы отпра­вили по электронной почте счет клиенту "Blank Blank" ("Пробел пробел") или продали ме­шок арахиса за -4.99 долларов.

Лучший способ борьбы с подобными проблемами — прежде всего, помешать некоррект­ным данным проникать в вашу БД. Другими словами, нужно задать правила проверки, ко­торые отвергают подозрительные данные в момент их ввода. После того как неверные дан­ные попали в БД, найти их труднее, чем иголку в стоге сена.

В этой главе описан основной набор средств проверки, имеющийся у программы Access:

  • основные, включая совпадения, обязательные поля и значения по умолчанию;

  • маски ввода, форматирующие, с помощью образцов обычный текст, такой как почтовые коды и телефонные номера;

  • правила верификации (validation rules), устанавливающие строгие правила для полей, не подчиняющихся никаким законам;

  • подстановки (lookups), ограничивающие возможные значения списком заранее заданных вариантов.

О целостности данных

Все средства проверки программы Access реализованы в режиме Конструктора, с которым вы познакомились в главе 2. Для их применения вы выбираете поле и настраиваете его свой­ства. Единственная сложность — знать, какие свойства наиболее полезны. Некоторые из них описаны в главе 2, но в следующих разделах вы найдете дополнительные подробности.

Совет

Программа Access предоставляет три варианта переключения в режим Конструктора. Можно щелкнуть правой кнопкой мыши на заголовке вкладки таблицы и выбрать из меню команду Конструктор, использовать кнопку Режим на вкладке ленты Главная или воспользоваться крошечными кнопками режима в правом нижнем углу окна программы Access. Если вы очень нетерпеливы, то можете даже не открывать вашу таблицу, а просто найти ее в области пере­ходов, щелкнуть ее правой кнопкой мыши и выбрать команду Конструктор.

Запрет незаполненных полей

Для того чтобы каждая запись имела какой-то смысл, в ней должен быть хотя бы абсолют­ный минимум информации. Без вашей помощи программа Access не может отделить важ­ную информацию от необязательных деталей. По этой причине все поля в новой таблице определены как необязательные, за исключением поля первичного ключа (которое обычно содержит идентификационный номер записи). Убедитесь в этом с помощью таблицы Dolls из главы 1; вы быстро обнаружите, что можете вставлять записи, фактически не содержащие данных.

Этот недостаток легко исправить. Просто выберите в Конструкторе поле, которое обяза­тельно должно быть заполнено и задайте в свойстве Обязательноеполе (Required) значение Да (рис. 4.1).

Рис. 4.1. Свойство Обязательное поле сообщает программе Access о запрете пропущенных значений (именуемых на профессиональном жаргоне null)

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

Представьте, что вы внесли в таблицу Dolls сведения о нескольких куклах-болванчиках до того, как решили, что в поле Character обязательно должно быть значение. Вы переклю­чаетесь в Конструктор, выбираете поле Character и заменяете значение свойства Обяза­тельное поле на Да. Когда вы сохраняете таблицу (возвращаясь в Режим таблицы или за­крывая таблицу), программа Access дает вам возможность проверить записи о куклах-болванчиках,

уже внесенных в таблицу (рис. 4.2). Если вы выбираете выполнение проверки и Access обнаруживает проблему, программа позволяет вам отменить внесенные корректи­ровки (рис. 4.3).

Рис. 4.2. Это хорошая идея проверить таблицу на соответствие новым требованиям, которые вы установили. В противном случае некорректные данные могут остаться в БД. Не дайте этому сообщению запугать вас — пока у вас нет десятков тысяч записей, такая проверка не займет много времени

Рис. 4.3. Если программа Access находит пропущенное значение, она останавливает поиск и спрашивает вас, что делать. Вы можете сохранить изменения (даже если они конфликтуют хотя бы с одной записью) — в итоге, по крайней мере, новые записи не будут порождать подобную проблему. Другой возможный вариант — вернуть прежнее, более терпимое значение свойству поля. В любом случае вы можете найти пропущенные данные, отсортировав данные с помощью вопроса, выводящего незаданные значения в верхние строки таблицы

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