Чтение онлайн

ЖАНРЫ

Microsoft Access 2007

Днепров Александр Г.

Шрифт:

4. Если требуется протестировать ввод значения с помощью выбранной маски, введите в поле Проба пример значения поля.

5. Если выбрана маска даты/времени, которую не требуется редактировать, или маска пароля, нажмите кнопку Готово . Процесс создания маски на этом окончен.

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

Далее будет рассмотрено свойство условия на значение, которое, как и маска, предотвращает ошибки ввода данных.

Условие на значение

Задание условия на значение поля – еще один способ автоматической проверки корректности вводимых данных, который вы можете использовать наряду с контролем соответствия типов данных и масками ввода.

Условие на значение вы можете создать вручную, введя значение свойства Условие на значение , или с помощью построителя выражений (рис. 2.20), вызываемого нажатием кнопки

справа

от значения свойства. Помимо этого, вы можете задать значение свойства Сообщение об ошибке – текст сообщения, которое будет появляться в случае, если введенное в поле значение не соответствует условию.

Рис. 2.20. Построитель выражений

Перечислим операторы, наиболее часто используемые в условиях на значение.

• < – условие выполняется, если значение слева от знака < меньше, чем значение справа от знака.

• <= – условие выполняется, если значение слева от знака <= меньше, чем значение справа от знака, а также если значения равны.

• > – условие выполняется, если значение слева от знака > больше, чем значение справа от знака.

• >= – условие выполняется, если значение слева от знака >= больше, чем значение справа от знака, а также если значения равны.

• = – условие выполняется, если сравниваемые значения равны.

• <> – условие выполняется, если сравниваемые значения не равны.

• BETWEEN – условие выполняется, если значение слева от оператора находится в диапазоне, указанном справа от оператора. Например, условию [Имя] BETWEEN “а” AND “к” удовлетворяет значение Иванов , но не удовлетворяет значение Петров . Условие BETWEEN 0 AND 1 равносильно условию >=0 AND <=1 .

• IN – условие выполняется, если значение слева от оператора совпадает с одним из элементов списка справа от оператора. Список заключается в круглые скобки, элементы списка указываются в кавычках через точку с запятой. Например: [Рейтинг] IN (“500”;”1000”;”1500”) .

• LIKE – условие выполняется, если значение слева удовлетворяет шаблону справа. Шаблон может содержать подстановочные знаки ? (на месте этого знака может быть произвольный символ) и * (на месте этого знака может быть любое количество произвольных символов). Например, условие Like “??.12.*” означает, что вводимая дата должна относиться к декабрю. Такое условие аналогично заданию маски ввода (см. подразд. «Маска ввода»).

• IS NOT NULL – условие выполняется, если в поле введено любое значение (то есть поле не пустое). Такое условие аналогично заданию обязательности поля (см. подразд. «Обязательное поле»).

• NOT – условие выполняется в том случае, если не выполняется условие, находящееся справа от оператора NOT . Например, условие [Рейтинг] NOT =0 равносильно условию [Рейтинг]<>0 .

• AND – условие выполняется, если выполнены оба условия справа и слева от оператора. Например, если задано условие >= #01.01.2008# AND <= Date+30 , то вводимая дата должна быть не ранее начала 2008 года, но не позднее чем через 30 дней после текущей даты.

• OR – условие выполняется, если выполнено хотя бы одно из условий справа и слева от оператора. Например, условие 0 OR >=500 выполняется, если вводимое число равно нулю или не менее 500.

...

Примечание

Имена полей таблицы, используемые в условии, заключаются в квадратные скобки, даты – в решетки, текстовые константы – в кавычки.

Если выражение слева от оператора не указано, вместо него подставляется значение поля, для которого создано условие. Например, для поля Рейтинг вместо условия [Рейтинг]>0 можно написать просто >0.

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

Следующее свойство, о котором пойдет речь, – это значение по умолчанию.

Значение по умолчанию

Значение по умолчанию автоматически устанавливается в поле при создании новой записи. Если вы зададите значение по умолчанию, это позволит вам ускорить ввод данных в том случае, когда во многих записях не потребуется менять значение по умолчанию на какое-либо другое.

Чтобы создать значение по умолчанию, введите значение свойства Значение по умолчанию . Например, чтобы в поле Дата по умолчанию устанавливалась текущая дата, введите значение Date.

Далее рассмотрим следующее свойство поля – обязательное поле.

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

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

Завершим обзор свойств полей таблицы рассмотрением свойства, позволяющего создать индекс для поля.

Индексирование

Индекс – это объект базы данных, предназначенный для повышения производительности выполнения запросов. В результате создания индекса для поля значительно ускоряется выполнение операций поиска, сортировки и группировки по значениям этого поля. Чем больше записей в таблице, тем заметнее увеличивается скорость действия.

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

Например, вы можете создать индекс для поля Клиент таблицы Заказы компании , если планируется регулярно составлять список заказов конкретного клиента.

Чтобы создать индекс для поля, в свойстве Индексированное поле выберите значение Да (Допускаются совпадения) или Да (Совпадения не допускаются) . В первом случае возможно наличие записей с одинаковыми значениями индексируемого поля, во втором случае значения поля должны быть уникальны.

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

Теперь, когда была рассмотрена настройка полей таблицы, перейдем к работе со связями между таблицами.

Настройка связей между таблицами

В данном разделе вы узнаете, как создать и удалить связи между таблицами, как включить режим обеспечения целостности

данных и как просмотреть дочерние записи при редактировании родительской таблицы.

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

Просмотр, создание, редактирование и удаление связей осуществляются на схеме данных (рис. 2.21). Чтобы открыть схему данных, нажмите кнопку Схема данных на вкладке Работа с базами данных .

Рис. 2.21. Схема данных

Итак, начнем с рассмотрения процедуры создания связи.

Создание связи

Если вы хотите создать связь между двумя таблицами, выполните следующие действия.

1. Перед созданием связи обе связываемые таблицы должны отображаться на схеме данных. Если таблица отсутствует на схеме данных, ее требуется вначале добавить. Для этого нажмите кнопку Отобразить таблицу на вкладке Конструктор . Затем в появившемся окне Добавление таблицы щелкните кнопкой мыши на названии таблицы и нажмите кнопку Добавить . После добавления всех нужных таблиц нажмите кнопку Закрыть .

2. Щелкните кнопкой мыши на названии поля, которое является первичным ключом в родительской таблице. Удерживая нажатой кнопку мыши, перетащите поле первичного ключа, наведите указатель на название того поля дочерней таблицы, которое должно стать вторичным ключом (при этом в изображении указателя появится знак +), и отпустите кнопку мыши.

3. На экране появится окно Изменение связей (рис. 2.22). В этом окне указаны названия связываемых полей. Убедитесь, что поля для создания связи выбраны верно. В случае обнаружения ошибки выберите другие поля.

Рис. 2.22. Окно Изменение связей

4. Выберите режим обеспечения целостности данных (об этом режиме подробно будет рассказано в следующем подразделе). Рекомендуется установить флажок Обеспечение целостности данных . Затем нажмите кнопку Создать .

5. Сохраните изменения схемы данных, нажав комбинацию клавиш Ctrl+S .

Далее будет описано, как включить режим обеспечения целостности данных при создании или изменении связи.

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

Целостностью данных в Microsoft Access называется ссылочная целостность – состояние отдельной связи или всей базы данных, при котором отсутствуют некорректные ссылки. Иными словами, целостность данных означает, что в дочерней таблице нет записей, ссылающихся «в никуда», вторичный ключ каждой записи содержит значение, существующее в столбце первичного ключа родительской таблицы.

Целостность данных может нарушиться в следующих ситуациях:

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

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

• в родительской записи изменяется значение первичного ключа, следовательно, ссылки на эту запись также становятся некорректными.

Исключить все эти ситуации позволяет режим автоматического обеспечения целостности данных. Этот режим включается отдельно для каждой связи в окне Изменение связи (см. рис. 2.22). Если установить флажок Обеспечение целостности данных , программа Access не допустит выполнения операций, ведущих к нарушению ссылочной целостности. Так, запрещается:

• сохранение записи с некорректным значением вторичного ключа;

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

• изменение значения первичного ключа родительской записи, если для связи не установлен флажок каскадное обновление связанных полей ; либо при изменении значения первичного ключа в родительской записи автоматически меняются значения вторичного ключа в дочерних записях, если флажок каскадное обновление связанных полей установлен.

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

После того как режим обеспечения целостности данных включен, над линией связи в схеме данных появляется символ 1 возле родительской таблицы и символ ? возле дочерней таблицы (см. рис. 2.21). Благодаря этим подписям вы сразу увидите, что для данной записи поддерживается целостность данных.

Продолжим изучение операций, выполняемых со связями, и перейдем теперь к редактированию существующих связей.

Редактирование связи

Если вам необходимо изменить свойства связи, например режим обеспечения целостности данных для связи, дважды щелкните кнопкой мыши на линии связи в схеме данных.

На экране появится окно Изменение связей (см. рис. 2.22). В этом окне выполните необходимые изменения и нажмите кнопку ОК .

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

Удаление связи

Чтобы удалить связь, щелкните кнопкой мыши на линии связи в схеме данных (линия при этом станет жирной) и нажмите клавишу Delete . На появившейся панели подтвердите необходимость удаления связи, нажав кнопку Да .

На этом заканчивается рассмотрение операций со связями. Последний подраздел этого раздела посвящен просмотру дочерних записей при работе с родительской таблицей.

Отображение дочерних записей

Итак, если между таблицами создана связь, то, открыв родительскую таблицу в режиме таблицы, вы сможете просматривать и записи дочерней таблицы.

Чтобы увидеть записи, ссылающиеся на данную родительскую запись, нажмите знак + слева от записи. Откроется подтаблица, содержащая дочерние записи (рис. 2.23).

Если таблица имеет несколько дочерних таблиц, то вы можете выбрать ту из них, которая будет отображаться в виде подтаблицы.

• Если подтаблица не выбрана, при первом щелчке кнопкой мыши на знаке + появляется окно Вставка подтаблицы . В этом окне щелкните кнопкой мыши на названии нужной дочерней таблицы (при этом внизу окна отобразятся названия первичного ключа и вторичного ключа, с помощью которых образована связь таблиц). Нажмите кнопку ОК .

• Если подтаблица уже была выбрана, но вы хотите выбрать другую дочернюю таблицу в качестве подтаблицы, выполните следующие действия.

1) Перейдите в режим конструктора (кнопка Режим вкладки Главная ).

2) На вкладке Конструктор нажмите кнопку Страница свойств .

Рис. 2.23. Просмотр дочерних записей

Поделиться с друзьями: