Текст книги "Office 2007: самоучитель"
Автор книги: Юрий Стоцкий
Жанр: Программы, Компьютеры
сообщить о неприемлемом содержимом
Текущая страница: 20 (всего у книги 27 страниц)
Создав одну таблицу (например, так, как вы это делали на занятии 2), вы уже получаете полноценную базу данных. Однако в реальной жизни структуры баз данных, а соответственно и способы их создания, намного сложнее. На этом занятии будут рассмотрены лишь некоторые из них.
Упражнение 1. Создание таблицы в режиме таблицы
Ввод данных в режиме таблицы очень похож на работу с электронной таблицей Microsoft Office Excel 2007. Вы начинаете заполнять данными поля таблицы, а структура таблицы при этом получается автоматически. Приложение Access задает тип данных для каждого поля в зависимости от вводимых данных. Более того, в Microsoft Office Access 2007 имеется возможность воспользоваться готовыми шаблонами полей. Эта возможность значительно упрощает создание таблицы. Например, чтобы создать таблицу данных, предназначенную для хранения списка людей, с которыми вы контактируете, выполните следующие действия.
1. Запустите Microsoft Access, выполнив команду Пуск → Все программы → Microsoft Office → Microsoft Office Access 2007 (Start → Programs → Microsoft Office → Microsoft Office Access 2007).
2. На появившейся странице Приступая к работе с Microsoft Office Access (Getting Started with Microsoft Office Access) щелкните на значке Новая база данных (Blank Database), как показано на рис. 16.1.
3. В поле Имя файла (File Name) раздела Новая база данных (Blank Database) введите имя Контакты.
4. Выберите для размещения новой базы данных папку Мои документы (My Documents) и щелкните на кнопке Создать (Create).
Примечание
После своего создания файл базы данных обновляется автоматически при закрытии и выполнении некоторых критически важных операций (например, изменении структуры таблицы), поэтому нет необходимости вручную сохранять файл, хотя при долгой работе это рекомендуется делать во избежание потерь данных из-за возможного сбоя компьютера.
Access откроет пустую таблицу с именем Таблица 1 (Tablel), при этом курсор будет находиться в столбце Добавить поле (Add New Field), как показано на рис. 16.2. Слева от окна с таблицей располагается область переходов (navigation pane). В ней отображаются все объекты базы данных, разделенные на категории. Объекты в каждой категории дополнительно разбиваются по группам. По умолчанию для новых баз данных в Microsoft Office Access 2007 создается категория Таблицы и связанные представления (Tables and Related Views), а в этой категории – группа Все таблицы (All Tables). Имя этой группы вы можете видеть в меню в верхней части области переходов.
Рис. 16.1. Окно Microsoft Office Access 2007
Новое в Office
Область переходов – это новое средство в приложении Microsoft Office Access 2007. Область переходов выполняет функции применявшегося ранее окна базы данных. Кроме того, область переходов можно использовать вместо кнопочных форм или для создания настраиваемых групп объектов в базе данных.
5. Щелкните на кнопке Новое поле (New Field) в группе Поля и столбцы (Fields & Columns) вкладки Режим таблицы (Datasheet). Справа появится область задач Шаблоны полей (Field Templates), представленная на рис. 16.3.
Новое в Office
Шаблон поля – это готовый набор свойств поля, в том числе имя, тип данных, формат и ряд других свойств, которые в совокупности используются в качестве основы для создания нового поля.
6. В группе Контакты (Contacts) выберите пункт Имя (First Name).
7. Удерживая нажатой левую кнопку мыши, перетащите поле Имя (First Name) в таблицу и поместите его сразу за полем Код (ID).
Рис. 16.2. Окноновойбазыданных
8. Вобласти задач Шаблоныполей (Field Templates) дважды щелкните левой кнопкой мыши на строке Фамилия (Last Name). Поле Фамилия (Last Name) появится в таблице сразу за полем Имя (First Name).
9. Аналогичным образом (перетаскиванием или двойным щелчком) добавьте в новую таблицу поля Адрес (Address), Организация (Company) и Рабочийтелефон (Business Phone).
Обратите внимание, что при создании новой таблицы Access добавляет в таблицу дополнительное ключевое поле Код (Ш), которое играет роль уникального идентификатора записей.
Упражнение 2. Таблицы
Таблица базы данных похожа на лист электронной таблицы, но ее размеры ограничены. Число ее строк на единицу больше количества записей (последняя пустая строка предназначена для ввода новой записи), а число столбцов равно количеству полей в записи. Заголовки столбцов таблицы соответствуют именам полей.
1. Щелкните в поле Имя и введите какое-нибудь имя. Access автоматически добавит в таблицу, созданную в предыдущем упражнении, первую запись, а строка новой записи сместится вниз.
Рис. 16.3. Область задач Шаблоны полей
2. Введите фамилию в поле Фамилия.
3. Заполните все остальные поля первой записи.
4. Щелкните в поле Имя последней строки и введите имя еще одного человека, его фамилию, адрес, название компании и телефон. Добавьте подобным образом несколько записей, чтобы таблица стала примерно такой, как показано на рис. 16.4. Если вы ошиблись при вводе, просто щелкните на ячейке с неверными данными и отредактируйте их. Стандартные заголовки столбцов часто оказываются неудобными, поэтому Access позволяет заменять их.
Рис. 16.4. Таблица данных
5. Щелкните на заголовке Фамилия правой кнопкой мыши и в открывшемся контекстном меню выберите команду Переименовать столбец (Rename Column).
6. Введите слово Название, которое заменит подсвеченный заголовок Фамилия.
7. Повторив шаги 5 и 6, верните столбцу название Фамилия.
8. Щелчком на кнопке Первая запись (First Record) переместите указатель текущей записи в начало таблицы.
9. Два раза щелкните на кнопке Следующая запись (Next Record), чтобы перейти к третьей записи.
10. Поместите указатель на третью запись, щелкните правой кнопкой мыши и в появившемся контекстном меню выберите команду Удалить запись (Delete Record).
11. В открывшемся окне запроса, информирующем о невозможности отмены операции удаления записи, щелчком на кнопке Да (Yes) подтвердите необходимость удаления.
Обратите внимание, что ключевое поле Код автоматически заполняется некоторыми числами. Эти числа не обязательно образуют непрерывную последовательность. Единственным условием является их уникальность. Содержимое ключевого поля различно для всех записей таблицы, что позволяет однозначно идентифицировать запись. Такие поля используются для формирования связей между таблицами, о которых вы узнаете на этом занятии позже.
12. Щелкните на значке Закрыть (Close) в окне таблицы. Access предложит сохранить внесенные данные. Щелкните в появившемся диалоговом окне на кнопке Да (Yes).
13. Появится окно Сохранение (Save), в котором можно дать новое имя таблице. Введите имя Контакт и щелкните на кнопке ОК. В результате в вашей базе данных появится таблица с именем Контакт.
Конструктор таблицКонструктор таблиц предназначен для задания и изменения структуры таблицы. С помощью конструктора можно формировать сколь угодно сложные таблицы с полями любого типа.
Упражнение 3. Структура таблицы
В упражнении 1 была создана таблица для хранения данных о людях, с которыми вы контактируете. Теперь давайте с помощью конструктора добавим в базу данных еще одну таблицу, предназначенную для записи информации обо всех контактах с людьми, перечисленными в первой таблице.
1. Перейдите на вкладку Создание (Create).
2. В группе Таблицы (Tables) щелкните на кнопке Конструктор таблиц (Table Design). Откроется окно с новой таблицей в режиме конструктора, показанное на рис. 16.5. Окно состоит из двух частей. В верхней части отображается список полей таблицы, а в нижней – свойства выделенного поля.
Рис. 16.5. Конструктор таблиц
3. Введите слово Дата, которое будет играть роль названия нового поля.
4. Щелкните на стрелке раскрывающегося списка в ячейке Тип данных (Data Туре) первой строки списка полей. Здесь необходимо выбрать тип поля, который определяет структуру и размер данных. Выберите пункт Дата/время (Date/Time).
5. Нажмите клавишу Tab и введите расшифровку назначения поля: Дата контакта. Такие описания вводить не обязательно, но их наличие помогает разобраться в структуре таблицы.
6. Щелкните на второй ячейке столбца Имя поля (Field Name) и введите имя Описание.
7. По умолчанию полю присваивается тип Текстовый (Text). Оставьте его без изменений.
8. Укажите назначение поля в соответствии с рис. 16.5.
Помимо даты и описания контакта таблица данных должна содержать информацию о том, с кем вы контактировали. Но список людей хранится в таблице Контакт, поэтому в новой таблице не нужно заново вводить имя и фамилию. Достаточно лишь добавить ссылку на одну из записей таблицы Контакт. Эта ссылка будет иметь числовой тип и содержать число, равное значению поля Код соответствующей записи таблицы Контакт.
9. Добавьте еще одно поле с именем Код_Контакт и типом Числовой (Number).
Теперь нужно добавить индексированное поле и назначить его ключом, однозначно идентифицирующим записи таблицы. Индексированные поля, или индексы, отличаются от обычных тем, что для них Access создает специальные списки, позволяющие выполнять быструю сортировку и поиск по содержимому индексированного поля. Таблица может содержать несколько индексов. Ключ – это специальный индекс, идентифицирующий записи. Значения такого поля должны быть уникальными. Его наличие не обязательно, но ключ так часто используется, что при его отсутствии Access напоминает об этом и предлагает автоматически добавить ключевое поле.
10. Добавьте поле Ключ и назначьте ему тип Счетчик (AutoNumber). Такой тип данных избавляет от необходимости ввода значений ключевого поля и инициирует автоматическую генерацию уникальных значений.
11. При активной строке Ключ щелкните на кнопке Ключевое поле (Primary Key). На кнопке этой строки появится значок ключа, показывающий особый статус поля.
12. Щелкните на кнопке закрытия окна конструктора.
13. Access выдаст запрос о необходимости сохранения структуры таблицы. В ответ щелкните на кнопке Да (Yes).
14. В открывшемся диалоговом окне введите имя Список (рис. 16.6).
Рис. 16.6. Ввод имени таблицы
15. Щелкните на кнопке ОК.
Упражнение 4. Список подстановки
Пришло время наполнить таблицу Список конкретной информацией.
1. В области переходов дважды щелкните на значке Список. Выбранная таблица откроется в режиме просмотра данных.
2. Добавьте несколько записей в соответствии с рис. 16.7.
Рис. 16.7. Список состоявшихся контактов
Совет
Чтобы расширить столбец Описание, содержащий длинные текстовые строки, наведите указатель мыши на его правую границу и, когда значок сменится на двунаправленную стрелку, перетащите границу вправо.
Не забывайте, что числа в столбце Код_Контакт должны соответствовать номерам записей таблицы Контакт, описывающих людей, с которыми вы контактировали. Согласитесь, что искать соответствующие номера очень неудобно. Access позволяет автоматизировать эту операцию с помощью списка подстановки, который настраивается следующим образом.
3. Щелкните на кнопке Режим (View) вкладки Режим таблицы (Datasheet). Откроется окно конструктора таблицы.
4. В списке типа данных для поля Код_Контакт выберите пункт Мастер подстановок (Lookup Wizard).
5. В первом окне мастера оставьте установленным переключатель Объект «столбец подстановки» будет использовать значения из таблицы или запроса (I want the lookup column to look up the values in the table or query) и щелкните на кнопке Далее (Next). Три переключателя второго окна мастера позволяют вывести на экран список таблиц, запросов или объединить эти два списка. Здесь нужно выбрать таблицу или запрос на роль источника подстановки. В нашем случае база данных помимо таблицы Список содержит только один объект – таблицу Контакт, которая и окажется выбранной в окне мастера.
6. Щелкните на кнопке Далее (Next). В третьем окне мастера (рис. 16.8) предлагается выбрать из таблицы Контакт поля, участвующие в подстановке. Этот список обязан содержать то поле, значения которого должны помещаться в поле Код_Контакт, то есть поле Код таблицы Контакт.
Рис. 16.8. Мастер подстановок
7. Щелкните на пункте Код.
8. Щелкните на кнопке со стрелкой вправо. В список источника подстановки следует также добавить те поля, содержимое которых должно отображаться вместо численного значения, помещаемого из поля Код таблицы Контакт в поле Код_Контакт таблицы Список. Мы думаем, что будет удобно выбирать людей по их именам и фамилиям.
9. Добавьте в список Выбранные поля (Selected Fields) пункты Фамилия и Имя.
10. Щелкните на кнопке Далее (Next).
Теперь можно выбрать порядок сортировки записей в списке. Выберем для сортировки поле Фамилия и тип сортировки – По возрастанию (Ascending).
11. В следующем окне мастер продемонстрирует два столбца таблицы-источника, скрыв столбец Код, содержащий идентификатор записи. Щелкните на кнопке Далее (Next).
12. В поле последнего столбца введите название Контакт, которое заменит имя столбца Код_Контакт, и щелкните на кнопке Готово (Finish).
13. В появившемся диалоговом окне щелчком на кнопке Да (Yes) подтвердите необходимость сохранения построенной структуры.
Примечание
Параметры списка подстановки появятся на вкладке Подстановка (Lookup), показанной на рис. 16.9. Если вы знакомы с языком структурированных запросов (Structured Query Language, SQL), то сможете разобраться в запросе, который формирует таблицу подстановки. Этот запрос располагается в поле Источник строк (Row Source).
14. Щелкните на кнопке Режим (View), чтобы снова переключиться в режим ввода данных.
Рис. 16.9. Параметры подстановки
Теперь в третьем столбце таблицы вместо чисел видны фамилии, соответствующие этим числам, хотя само значение поля Код_Контакт не изменилось. Access автоматически ищет соответствующую запись таблицы Контакт по числу, содержащемуся в поле Код, и выводит в ячейку текст поля Фамилия – второго поля таблицы Контакт из выбранных в окне мастера подстановки. Давайте попробуем добавить в таблицу Список еще одну запись.
15. Щелкните на нижней ячейке столбца Дата и введите дату 05.02.2007 (рис. 16.10).
Рис. 16.10. Список подстановки
16. Нажмите клавишу Tab и введите текст Письмо с предложением о сотрудничестве.
17. Снова нажмите клавишу Tab и щелкните на появившейся кнопке раскрывающегося списка. Теперь вы можете выбирать людей в списке подстановки, сформированном на базе полей Фамилия и Имя таблицы Контакт.
18. Щелкните на четвертом пункте списка.
Access автоматически отыщет в таблице Контакт значение поля Код для записи, содержащей информацию об Арсении Суханове, и введет найденное число в поле Код_Контакт таблицы Список. Это значение останется скрытым. Вместо него в ячейке таблицы Список появится соответствующая фамилия, взятая из таблицы Контакт.
Новое в Office
В Office Access 2007 появилась возможность создавать столбцы подстановки, допускающие наличие одновременно нескольких значений. К примеру, если вы контактируете сразу с несколькими коллегами по одному вопросу, то для отображения в таблице этой ситуации необходимо создать столбец подстановки, поддерживающий несколько значений фамилий. Для этого достаточно установить флажок Разрешить несколько значений (Allow Multiple Values) в последнем окне мастера подстановок.
Упражнение 5. Связь таблиц
В предыдущем упражнении с помощью мастера подстановок была сформирована связь между двумя таблицами. Такая связь позволяет установить правила взаимодействия между таблицами. Список подстановок можно было организовать и без связи. Но представьте, что вы удалите из таблицы Контакт запись, на которую ссылаются некоторые записи таблицы Список. В такой ситуации останутся описания контактов, фамилии людей в которых потеряны. Наличие правильно организованной связи позволяет избежать подобных неприятностей.
1. Перейдите на вкладку Работа с базами данных (Database Tools) и щелкните на кнопке Схема данных (Relationships) в группе Показать или скрыть (Show/Hide). Откроется окно, схематически изображающее связи базы данных (рис. 16.11). На рисунке видно, что линия связи соединяет поле Код таблицы Контакт с полем Контакт таблицы Список.
Примечание
Данная связь соединяет ключевое и обычное поля. Это связь типа «один ко многим», когда одной записи таблицы Контакт может соответствовать несколько записей таблицы Список, но не наоборот.
Рис. 16.11. Схема данных
Для тренировки давайте удалим связь, а затем создадим ее заново.
2. Щелчком выделите линию связи.
3. Нажмите клавишу Delete. В ответ на появившийся запрос щелкните на кнопке Да (Yes). Связь исчезнет.
4. Наведите указатель мыши на пункт Код таблицы Контакт.
5. Нажмите кнопку мыши и перетащите указатель на поле Контакт таблицы Список.
6. В открывшемся диалоговом окне щелкните на кнопке Создать (Create). Связь появится вновь.
Осталось настроить параметры связи.
7. Дважды щелкните на линии связи. Откроется диалоговое окно, показанное на рис. 16.12.
Рис. 16.12. Параметры связи
Совет
Если таблицы, между которыми нужно организовать связь, в открывшемся окне отсутствуют, щелкните в окне Схема данных (Relationships) правой кнопкой мыши и выберите команду Добавить таблицу (Show Table). В открывшемся диалоговом окне выделяйте таблицы, которые нужно разместить в окне Схема данных (Relationships), и щелкайте на кнопке Добавить (Add). Получив все необходимые таблицы, закройте диалоговое окно щелчком на кнопке Закрыть (Close).
8. Установите флажок Обеспечение целостности данных (Enforce Referential Integrity). Это не позволит Access оставлять в таблице Список записи, для которых нельзя подобрать запись таблицы Контакт с подходящим значением поля Код.
9. Установите флажок Каскадное удаление связанных записей (Cascade Delete Related Records). В результате при удалении записи таблицы Контакт (то есть удалении информации о конкретном человеке) будут удалены все соответствующие записи из таблицы Список (то есть все описания контактов с этим человеком). Если указанный флажок сброшен, удаление тех записей таблицы Контакт, на которые ссылается хотя бы одна запись таблицы Список, будет запрещено.
Примечание
Установка флажка Каскадное обновление связанных полей (Cascade Update Related Fields) приведет к тому, что при обновлении поля Код таблицы Контакт будут автоматически обновляться одноименные поля в соответствующих записях таблицы Список.
10. Щелкните на кнопке ОК.
11. Закройте окно Схема данных (Relationships).
12. В области переходов дважды щелкните на значке таблицы Контакт. В открывшемся окне таблицы будут видны небольшие знаки «плюс», расположенные в левой части записей. Их присутствие говорит о наличии связи ключевого поля таблицы с другой таблицей.
13. Щелкните на знаке «плюс» записи для Романа Боброва. Откроется вложенная таблица, содержащая те записи таблицы Список, значение поля Контакт которых равно величине одноименного поля записи для Романа Боброва (рис. 16.13).
Рис. 16.13. Выборка данных из связанной таблицы
Совет
При раскрытии фрагмента связанной таблицы знак «плюс» превращается в знак «минус». Чтобы скрыть дополнительную таблицу, щелкните на нем еще раз.
14. Щелкните еще на каком-нибудь знаке «плюс», и вы увидите описание всех контактов еще с одним человеком. Таким образом, с помощью созданной связи вы можете быстро просматривать в окне таблицы Список описания всех контактов с определенным человеком или группой лиц.
Упражнение 6. Параметры поля
Для того чтобы обеспечить возможность хранения в базе данных разнообразной информации, Access предлагает большой набор типов данных (табл. 16.1).
Чтобы сделать работу со списком контактов более продуктивной, следует изменить типы данных некоторых полей.
1. В области переходов выделите таблицу Список, как показано на рис. 16.14, щелкните на ней правой кнопкой мыши и выберите в контекстном меню команду Конструктор (Design View). Выбранная таблица откроется в режиме конструктора.
Таблица 16.1. Типы данных
Рис. 16.14. Выбор формата
2. Описание контакта может быть достаточно длинным, а максимальная длина текстовых полей ограничена 256 символами, поэтому измените тип поля Описание на Поле MEMO (Memo).
3. Щелкните в поле Дата.
4. Для удобства прочтения даты контакта измените формат ее отображения, выбрав в раскрывающемся списке Формат поля (Format) пункт Длинный формат даты (Long Date), как показано на рис. 16.14.
Помимо типа данных и формата отображения вкладка Общие (General) окна конструктора позволяет настроить некоторые дополнительные параметры поля, влияющие на способ ввода данных. Параметр Значение по умолчанию (Default Value) определяет содержимое поля, которое запишется в новую запись в том случае, если пользователь не введет в это поле никаких данных. Если вы регулярно обновляете список контактов, то дата контакта чаще всего будет совпадать с текущей датой. Чтобы упростить ввод информации, можно задать текущую дату в качестве значения по умолчанию для поля Дата.
5. Введите в поле Значение по умолчанию (Default Value) функцию Date(), которая возвращает текущую дату.
В некоторых случаях требуется не только задать тип данных поля, но и ограничить его возможные значения определенным интервалом или более сложным правилом отбора. Такое правило вводится в поле Условие на значение (Validation Rule). Предположим, вы точно знаете, что все контакты, которые будут заноситься в список, состоятся после 1 января 2007 г. Чтобы избежать ошибок, можно заставить Access сообщать вам о вводе неверной даты.
6. В поле Условие на значение (Validation Rule) щелкните на кнопке построителя выражений. Откроется диалоговое окно, показанное на рис. 16.15. Для задания условий или значений определенных параметров Access предлагает большой набор математических операций и функций. Построитель выражений помогает ориентироваться во всем многообразии функций Access. Верхнее прокручивающееся поле построителя содержит конструируемое выражение. Его можно изменять как путем непосредственного редактирования текста, так и с помощью кнопок и списков построителя.
7. Необходимо, чтобы дата записи была позднее, то есть больше даты 1 января 2007 г. Поэтому щелкните на кнопке >, чтобы добавить нужное условие.
Теперь нужно указать дату, с которой выполняется сравнение. Для этого следует воспользоваться специальной функцией, преобразующей строковую константу в дату в формате Access.
8. Дважды щелкните на папке Функции (Functions) в левом списке построителя выражений.
9. Щелкните на папке Встроенные функции (Built-in Functions), чтобы вывести список стандартных функций Access.
10. В среднем списке выберите категорию Дата/время (Date/Time).
Рис. 16.15. Построитель выражений
11. Двойным щелчком на имени функции DateValue добавьте ее в поле выражения. Вместо местозаполнителя аргумента «stringexpr» нужно ввести конкретную дату в строковом формате.
12. В поле выражения щелчком выделите текст «stringexpr» и введите строку «01.01.2007».
13. Щелкните на кнопке ОК.
14. В поле Сообщение об ошибке (Validation Text) введите текст Неверная дата, который будет появляться при вводе даты, более ранней, чем 1 января 2007 г. Окончательный набор параметров для поля Дата показан на рис. 16.16.
Рис. 16.16. Параметры для поля Дата
15. Щелкните на кнопке закрытия окна конструктора. В окне запроса на обновление структуры таблицы щелкните на кнопке Да (Yes). По причине добавления условий на значения поля Дата Access запросит о необходимости проверки содержимого этого поля в уже имеющихся записях таблицы. Щелкните на кнопке Нет (No), чтобы не выполнять проверку.
Давайте изучим влияние настроенных параметров на поведение базы данных.
16. Щелкните дважды на таблице Список в области переходов. Таблица откроется, и вы увидите, что теперь все даты отображаются в длинном формате, а в ячейке Дата в строке новой записи автоматически появляется текущая дата.
17. Щелкните в ячейке Дата второй строки, измените ее содержимое на значение 12.11.2006 и нажмите клавишу Tab, чтобы перейти к следующему полю. Так как модифицированная дата предшествует 1 января 2007 г., что противоречит настроенному условию, Access не позволит убрать курсор из текущей ячейки и откроет окно сообщения с текстом, введенным вами в поле Сообщение об ошибке (Validation Text) конструктора таблицы на шаге 14 (рис. 16.17). Такое сообщение будет появляться до тех пор, пока вы не скорректируете дату.
Рис. 16.17. Сообщение о неверных данных
18. Щелкните на кнопке ОК.
19. Исправьте дату на 02.02.2007.
20. Закройте таблицу Список.
Упражнение 7. Индекс
Для ускорения поиска данных о конкретном человеке в таблице Контакт удобно рассортировать записи по алфавиту. Чтобы назначить сортировку по полю Фамилия, выполните следующие шаги.
1. В области переходов выделите таблицу Контакт (рис. 16.18).
2. Чтобы открыть таблицу в режиме ввода данных, щелкните на ней правой кнопкой мыши и выберите в контекстном меню команду Открыть (Open).
3. В окне таблицы щелкните на заголовке Фамилия, чтобы выделить столбец.
Рис. 16.18. Сортировка фамилий по алфавиту
4. Щелчком на кнопке По возрастанию (Ascending) в группе Сортировка и фильтр (Sort & Filter) вкладки Главная (Home) упорядочите записи столбца фамилий таблицы по алфавиту.
5. Вставьте в таблицу еще несколько человек с фамилией Суханов. Например, введите в указанном порядке записи Николай Суханов, Анатолий Суханов и Виктор Суханов.
6. Чтобы повторить сортировку, закройте окно таблицы Контакт и вновь откройте таблицу. Записи окажутся расположенными так, как показано на рис. 16.19.
Рис. 16.19. Несколько человек с одинаковыми фамилиями
Фамилии упорядочены по алфавиту, но имена людей не отсортированы. Если бы в таблице было несколько десятков людей с фамилией Суханов, поиск нужного человека существенно бы усложнился. Чтобы выполнить сортировку сразу по нескольким полям, следует воспользоваться сложным индексом.
7. Щелчком на кнопке Режим (View) переключитесь в режим конструктора.
8. Чтобы открыть окно индексов таблицы Контакт (рис. 16.20), щелкните на кнопке Индексы (Indexes) в группе Показать или скрыть (Show/Hide) вкладки Конструктор (Design).
В окне индексов есть список со столбцами названия индекса, имени поля, по которому выполняется индексация, и режима сортировки (по возрастанию или убыванию). Индекс PrimaryKey является ключом таблицы, однозначно идентифицирующим ее записи. Данный индекс простой, то есть он назначает сортировку только по одному полю Код. Чтобы записи с одинаковыми фамилиями располагались по алфавиту имен, следует создать индекс Фамилия с условием сортировки по полям Фамилия и Имя.
Рис. 16.20. Индексы
9. Введите в поле названия индекса текст Фамилия.
10. Нажмите клавишу Tab и выберите пункт Фамилия в раскрывающемся списке ячейки Имя поля (Field Name). В столбце Порядок сортировки (Sort Order) автоматически появится вариант По возрастанию (Ascending).
11. Щелкните правой кнопкой мыши в той строке, которая расположена ниже строки индекса Фамилия.
12. Выберите в контекстном меню команду Вставить строки (Insert Rows), чтобы добавить одну пустую строку.
13. В новой строке столбца Имя поля (Field Name) щелкните на кнопке раскрывающегося списка.
14. Выберите пункт Имя. В столбце Порядок сортировки (Sort Order) автоматически появится вариант По возрастанию (Ascending).
В окне настройки индексов имена полей, по которым происходит упорядочивание в данном индексе, располагаются в строке с именем индекса и ниже ее в строках с пустой ячейкой Индекс (Index Name) в порядке убывания влияния поля. То есть первой выполняется сортировка по тому полю, которое в данном индексе расположено выше. В одном индексе можно использовать до 10 полей. Таким образом, теперь индекс Фамилия упорядочивает записи по алфавиту сначала по фамилиям, а потом по именам.
15. Закройте окно индексов.
16. Щелкните на кнопке Режим (View), чтобы переключиться в режим редактирования таблицы.
17. Ответьте Да (Yes) на запрос о необходимости сохранения таблицы. В результате имена окажутся выстроенными по алфавиту (рис. 16.21).
Рис. 16.21. Сортировка по двум полям
Правообладателям!
Это произведение, предположительно, находится в статусе 'public domain'. Если это не так и размещение материала нарушает чьи-либо права, то сообщите нам об этом.