Не требуйте слишком многого
Вы должны хорошенькоподумать, какой минимум данных вам нужен для создания записи.
Например, компания, продающая костюмы Элвиса, возможно, не захочет вставлять новый комплект одежды в свою таблицу Products(изделия), пока он не будет полностью готов. Свойство Обязательное полев данном случае хорошее подспорье, поскольку не даст включить в каталог незавершенные изделия.
С другой стороны, такая строгость не годится в таблице Customers(клиенты) той же компании. Отделу продаж нужна гибкость при добавлении новых предполагаемых клиентов, даже если предоставлена только частичная информация. Потенциальный клиент может позвонить и оставить только почтовый адрес (без номера счета, номера телефона, адреса электронной почты и т. п.). Даже в этом случае, не имея полной информации о клиенте, вы должны включить его в таблицу Customers,для того чтобы он или она получали ежемесячный информационный бюллетень.
Примите за правило применение необязательного поля в том случае, когда данные для него необязательны или недоступны в момент ввода записи.
Пропущенные значения и пустые строки
Программа Access поддерживает свойство Обязательное поле(Required) для всех типов данных. Но, возможно, для некоторых типов данных понадобятся дополнительные проверки. Это объясняется тем, что свойство Обязательное полезапрещает только незаполненные поля — поля, в которых нет совсем никаких данных. Но программа Access, что кажется несколько странным, различает пропущенные значения и пустые строки (empty text).
Пропущенное значение (null) означает отсутствие данных. Пустая строка свидетельствует о том, что значение поля было введено, но оказалось пустым. Все еще недоумеваете? Разница существует, т. к. БД, такие как Access, должны распознавать пропущенные данные. Пропущенное значение может означать оплошность — возможно, кто-то просто забыл ввести значение, С другой стороны, пустая строка означает сознательное решение исключить данную информацию.
Примечание
Для того чтобы проверить эту разницу в своей таблице, создайте текстовое поле со значением свойства Обязательное поле,равным Да. Попытайтесь вставить новую запись и оставить ее пустой. (Access хладнокровно остановит вас.) Теперь попробуйте вставить новую запись, но поместите единственный пробел в поле. Происходит странная вещь: Access автоматически обрезает пробелы и, делая это, превращает ваш единственный пробел в пустую строку. Но вы не получите сообщения об ошибке, поскольку пустая строка — это не то же самое, что пропущенное значение.
К счастью, если вы сочтете это различие сбивающим с толку, можно запретить и пропущенные значения, и пустые строки. Просто установите в свойстве Обязательное поле(Required) значение Да для запрета пропущенных значений и в свойстве Пустые строки(Allow Zero Length) значение Нет для запрета пустых строк.
Примечание
Такое же различие существует и у данных числового типа. Даже если установить свойство Обязательное полеравным Да, вы все равно можете вставить значение 0. Если вы хотите помешать этому, нужно применить правила верификации, описанные в разд. "Правила верификации или условия на значения" далее в этой главе.
Задание значений по умолчанию
До сих пор поля в ваших таблицах заполнялись явно человеком, вставлявшим запись или пропускавшим ее. Но есть еще одна возможность — вы можете определить значение по умолчанию. Теперь, если кто-то вставляет запись и пропускает поле, программа Access использует в нем значение по умолчанию.
Задается значение по умолчанию в свойстве поля Значение по умолчанию(Default Value). Для поля AddedCost(добавленная стоимость) числового типа вы могли бы оставить его равным 0. В текстовом поле Country(страна) можно использовать строку "U.S.A." как значение по умолчанию. (Все текстовые значения, используемые как значения по умолчанию, должны быть заключены в кавычки.)
Программа Access выводит вес значения по умолчанию в строке, подготовленной для ввода новой записи, в нижней части таблицы (рис. 4.4). Она также автоматически вставляет значения по умолчанию в любые скрытые столбцы (см. разд. "Скрытие столбцов " главы 3).
Рис. 4.4. Эта служба знакомств использует четыре значения по умолчанию: стандартный рост (5.9), город по умолчанию (New York), штат по умолчанию (тоже New York — NY) и страну по умолчанию (U.S.A.). Такая система хороша, поскольку в большинстве новых записей содержится именно эта информация. С другой стороны, нет оснований предлагать значения по умолчанию для полей, содержащих имя и фамилию
Access вставляет значение по умолчанию, когда вы создаете новую запись (но вы всегда можете изменить это значение). Вы также можете во время редактирования поля вернуться к значению по умолчанию с помощью сочетания клавиш <Сtrl>+<Аlt>+<Пробел>.
Совет
Очень удобно использовать значение по умолчанию как отправную точку для новой записи. Например, когда создается новая запись в таблице, можно редактировать значение по умолчанию, а не заменять его полностью другим значением.
Вы можете создать и более развитые динамические значения по умолчанию. Программа Access оценивает их, когда вы вводите новую запись, что означает зависимость выбранного значения по умолчанию от других данных записи. Динамические значения по умолчанию используют выражения (специальные формулы БД), способные выполнять вычисления или извлекать другие подробности. Одна полезная функция Date ( ) извлекает текущую дату, установленную на вашем компьютере. Если применить эту функцию как значение по умолчанию для поля с датой (как показано на рис. 4.5), программа Access автоматически вставляет текущую дату при вводе новой записи.
Рис. 4.5. Если вы применяете функцию Date ( ), как значение по умолчанию в поле DateAcquiredв таблице с куклами-болванчиками, то при каждой вставке новой записи о кукле программа Access вставляет текущую дату. Вы решаете — оставить ее или заменить другим значением
Примечание
Вы узнаете больше о выражениях языка SQL (Structured Query Language, язык структурированных запросов) в части II.