Иллюстрированный самоучитель по OfficeXP

         

Фильтры


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



С помощью контрольного упражнения закрепите



С помощью контрольного упражнения закрепите знания о запросах и фильтрах, выполнив самостоятельно приведенные ниже операции и ответив на предложенные вопросы.
 Запустите мастер запросов.
 Добавьте в запрос поля Фамилия и Адрес таблицы Контакты, а затем поля Дата и Описание таблицы Список.
 Настройте итоговый запрос, подсчитывающий количество записей. 
 Как с помощью мастера, создать итоговый запрос?
 Переключитесь в режим конструктора.
 Скройте третье и четвертое поля запроса.
Закройте запрос, сохранив его под именем Количество записей.
Откройте таблицу Список.
Включите фильтр, оставляющий только записи, относящиеся к фамилии Леонидов.
Откройте окно сложного фильтра.
 Измените условие фильтрации так, чтобы оставались также записи, касающиеся Петрова.
Какое условие отбора необходимо добавить ?


 Назначьте обновленный фильтр.
 Сохраните настроенный фильтр в виде запроса.
 Откройте запрос Обновление в конструкторе запросов.
Просмотрите его в режиме SQL.
 Как включить режим просмотра SQL?
 Закройте базу данных.

Подведение итогов


На занятии были изучены запросы, запросы действия и фильтры. Эти объекты позволяют сортировать данные, выбирать их на основе введенных условий, а также обновлять и создавать таблицы.

Следующее занятие посвящено описанию

форм,

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



Мастер запросов


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

 В окне базы данных щелкните на кнопке Запросы (Queries).

 Дважды щелкните на значке Создание запроса с помощью мастера (Create Query By Using Wizard).

 В раскрывающемся списке Таблицы и запросы (Tables/Queries) первого окна мастера выберите таблицу Список (рис. 17.1).

 В списке Доступные поля (Available Fields) щелкните на строке Дата.

 Щелкните на кнопке >, чтобы переместить выделенное поле в список Выбранные поля.

 Повторяя шаги 3-5, добавьте в список Выбранные поля поле, Описание таблицы Список, а также ноле Фамилия таблицы Контакты.

 Щелкните на кнопке Далее.

 Введите имя запроса Перечень контактов и щелкните на кнопке Готово.

Access построит запрос и выполнит его.

Запрос —

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

Рис. 17.1.

Мастер запросов

Примечание

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

В рассматриваемом случае условие отбора инициирует получение из таблицы Список полей Дата и Описание всех имеющихся записей, а также поля Фамилия таблицы Контакты. Таблицы Список и Контакты связаны между собой через поле Код_Контакты, при этом Контакты является главной таблицей, а Список — подчиненной (то есть каждой записи таблицы Список соответствует только одна запись таблицы Контакты). Поэтому в поле Фамилия результата запроса выводится фамилия из той записи таблицы Контакты, значение поля Код_Контакты которой совпадает со значением одноименного поля таблицы Список.

Рис. 17.2.

Результат выполнения запроса 

Результат выполнения запроса показан на рис. 17.2.



Конструктор запросов


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

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

>

Конструктор (View

>

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

 Переместите указатель на пункт Имя таблицы Контакты.

Рис. 17.3.

Конструктор запроса

 Нажмите кнопку мыши и перетащите поле Имя в верхнюю ячейку четвертой строки бланка запроса. Его имя появится в этой ячейке, а имя соответствующей таблицы — во второй ячейке того же столбца. Третья строка бланка запроса позволяет сортировать результат запроса по тому или иному полю.

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

Примечание

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

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

из таблицы Контакты нет записей в таблице Список, то информация о таких людях не включается в результат запроса. Чтобы запрос возвращал данные даже о тех людях (включенных в таблицу Контакты), с которыми не было никаких контактов, нашедших отражение в таблице Список, следует изменить параметры объединения.


 Дважды щелкните на линии связи.
В открывшемся окне диалога Параметры объединения (Join Properties) выберите положение переключателя Объединение всех записей из "Контакты" и только тех записей из "Список", в которых связанные поля совпадают (Include All Records From "Контакты" And Only Those Records From "Список" Where The Joined Fields Are Equal).
 Щелкните на кнопке ОК. На одном конце линии связи появится стрелка, указывающая на смену режима объединения.

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

Условие отбора


Добавление в запрос

условия отбора

позволяет выбирать из таблицы не все записи, а лишь те, которые удовлетворяют определенным критериям. Например, вас могут заинтересовать контакты, приходящиеся на декабрь 1999 года. Давайте модифицируем запрос добавлением соответствующего условия отбора.

 Выделите в окне базы данных (рис. 17.4) значок запроса Перечень контактов.

Рис. 17.4.

Окно базы данных

Щелкните на кнопке Конструктор.

В бланке запроса щелкните на ячейке Условие отбора (Criteria) первого столбца правой кнопкой мыши и выберите в контекстном меню команду Построить (Build). Откроется окно построителя выражений.

 В левом списке построителя щелкните на папке Операторы (Operators).

В среднем списке выберите категорию Сравнения (Comparison).

 В правом списке дважды щелкните на пункте Between, чтобы добавить этот оператор в ноле формулы.

Щелчком выделите в поле формулы первый местозаполнитель «Выражение» («Ехрг»).

 В левом списке построителя выражений двойным щелчком откройте папку Функции.

9. Щелкните на папке Встроенные функции, содержащей стандартные функции Access.

В среднем списке построителя выражений щелкните на пункте Дата/время (Data/Time).

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

 Нажмите два раза клавишу

—>,

выделив местозаполнитель «stringexpr».

 Введите текст "1.12.99".

 Повторяя шаги 7-13, замените второй местозаполнитель «Выражение» на выражение DateValue ("31.12.99").

У вас должна получиться формула Between DateValue ("1.12.99") And DateValue ("31.12.99"). Она проверяет условие нахождения даты в интервале от 1 до 31 декабря 1999 г., то есть отбирает те записи, значение поля Дата которых относится к декабрю 1999 г.

Примечание

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


  Щелкните па кнопке ОК. Построенная формула появится в ячейке Условие отбора первого столбца бланка запроса. При выборе записей, относящихся к одному месяцу, точная дата контакта может оказаться несущественной. Совсем выбросить это поле из бланка запроса нельзя, так как оно необходимо для реализации условия отбора. Однако любое поле можно скрыть, то есть не включать в результат запроса.
 Сбросьте флажок Вывод на экран (Show) первого столбца запроса (рис. 17.5).


Рис. 17.5.

Скрытие поля
 Щелчком на кнопке Запуск (Run) панели инструментов выполните запрос. 

Итоговый запрос


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

 В окне базы данных щелкните на кнопке Запросы.

 Дважды щелкните на значке Создание запроса в режиме конструктора (Create Query In Design View).

 В открывшемся окне диалога (рис. 17.6) выделите строку Контакты.

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

5. Выделите пункт Список и снова щелкните на кнопке Добавить.

6. Щелчком на кнопке Закрыть закройте окно диалога Добавление таблицы (Show Table). Списки полей двух таблиц, соединенные линией связи, появятся в окне конструктора.

7. Щелкните на кнопке Групповые операции (Totals) панели инструментов. В бланке запроса появится дополнительная строка Групповая операция: (Total), позволяющая выполнять статистические операции со значениями конкретных полей.

Рис.

17.6

. Добавление таблицы

 Перетащите поле Фамилия в ячейку Поле (Field) первого столбца конструктора.

 В ту же ячейку второго столбца перетащите поле Имя таблицы Контакты.

 В третий, четвертый и пятый столбцы бланка запроса перетащите поле Дата таблицы Список (рис. 17.7).

Рис. 17.7.

Запрос с групповыми операциями

 В раскрывающемся списке ячейки Групповая операция (Total) третьего столб ца бланка запроса выберите пункт Min.

В той же ячейке четвертого столбца выберите пункт Мах.

В пятом столбце задайте групповую операцию Count. Групповые операции построенного запроса обработают все записи таблицы Список, соответствующие конкретному человеку из таблицы Контакты, и вместо самих данных таблицы Список выведут в соответствующее поле результата запроса только значение величины, вычисляемой по определенной формуле.
Доступные групповые операции перечислены в табл. 17.1.

ТАБЛИЦА 17.1
. Групповые операции

Примечание
Поскольку в пятом поле запроса вычисляется количество записей, в ячейку Поле этого столбца можно поместить любое поле таблицы Список.
Щелкните на кнопке Вид, чтобы выполнить запрос. Появится таблица с пятью столбцами. Два первых столбца содержат фамилии и имена людей. По ним выполняется группировка, то есть расчет значений остальных полей запроса выполняется для записей таблицы Список, сопоставляемых с одним человеком. Как уже говорилось выше, соответствие контакта таблицы Список и человека из таблицы Контакты определяется полями Код_Контакты, с помощью которых осуществляется связь этих двух таблиц. Третий и четвертый столбцы запроса выводят соответственно дату первого (функция Min) и последнего (функция Мах) контакта с данным человеком. Пятый столбец содержит количество записей в таблице Список (функция Count), соответствующих. данному человеку, то есть число контактов с ним. Единственный недостаток построенного запроса — это непонятные имена столбцов. Давайте скорректируем их.
 Щелчком на кнопке Вид вернитесь в конструктор запроса.
 В ячейке Поле третьего столбца замените имя Дата на текст Дата первого контакта: Дата. Правая часть этого выражения, расположенная правее двоеточия, по-прежнему задает имя поля, а левая определяет название столбца результата запроса. Таким образом, любому столбцу запроса можно назначить произвольное имя.
 В ячейке Поле четвертого столбца введите Дата последнего контакта: Дата.
 В первой строке пятого столбца бланка'запроса введите Число контактов: Дата.

Примечание
К сожалению, подобный прием не подходит для смены названия поля, значение которого не вычисляется, а передается из таблицы. То есть таким способом не удастся переименовать поле Имя.
 Снова щелкните на кнопке Вид. 
Закройте запрос.
 Для сохранения изменений структуры щелкните на кнопке Да.
 В окне диалога Сохранение (Save As) введите имя Итоговый запрос и щелкните на кнопке ОК.

Запрос действия


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

запросами действия.

Предположим, что по каким-то причинам вам понадобилось скорректировать даты

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

 В окне базы данных щелкните на кнопке Таблицы.

 Выделите таблицу Список, данные которой нужно обновить.

 В палитре кнопки Новый объект (New Object) выберите пункт Запрос (Query). Откроется окно диалога Новый запрос (New Query), показанное на рис. 17.8. Подобное окно открывается и при щелчке на кнопке Создать (New) окна базы данных. Оно позволяет выбрать наиболее удобный способ создания объекта.

Рис. 17.8.

Создание запроса

 Дважды щелкните на строке Конструктор (Design View). Таблица Список, выделенная в окне базы данных на шаге 2, автоматически появится в окне конструктора запросов.

Перетащите в бланк запроса поле Дата, значение которого нужно обновлять.

Примечание

Название поля, заключенное в квадратные скобки, является ссылкой на значение поля. Чтобы сослаться на поле другой таблицы, нужно в начале указать имя таблицы, а затем имя поля (оба имени в квадратных скобках) и разделить их восклицательным знаком. Например [Контакты]! [Фамилия].

 В палитре кнопки Тип запроса (Query Type) выберите пункт Обновление (Update Query). Описание всех возможных вариантов запросов, предлагаемых программой Access, приведено в табл. 17.2. Структура бланка запроса видоизменяется в соответствии с типом запроса. В бланке выбранного варианта запроса на обновление появляется поле Обновление (Update To), в которое нужно ввести новое значение поля.
Чтобы изменить месяц даты с ноября на декабрь, достаточно прибавить к дате 30 дней.
 Введите в ячейку Обновление (Update To) формулу [Дата] +30.

ТАБЛИЦА 17.2.
Варианты запросов


Тип
Описание
Выборка (Select) ;
Выборка данных в таблицу результата запроса
на основе указанных условий отбора
Перекрестный (Crosstab)
Результат запроса выводит статистические
значения (сумму, количество или среднее) для
одного из полей таблицы в зависимости от двух
параметров других полей таблицы, задающих
заголовки строк и столбцов результата
перекрестного запроса
Создание таблицы
(Make-Table)
Создание новой таблицы в текущей или в другой
базе данных на базе информации из имеющихся
таблиц
Обновление (Update)
Обновление данных таблицы
Добавление (Append)
Добавление набора записей в таблицу
Удаление (Delete)
Удаление записей таблицы в соответствии
с указанным критерием

Чтобы обновлялись только даты, относящиеся к ноябрю 2000 года, введите в ячейку Условие отбора формулу Between DateValue ("1.11.99") And DateValue ("30.11.99"), которая подробно обсуждалась в третьем упражнении этого занятия (рис. 17.12).
Закройте запрос, сохранив его под именем Обновление.
 Щелкните на кнопке Таблицы окна базы данных и двойным щелчком на значке Список откройте эту таблицу. В ней есть четыре записи, относящиеся к ноябрю 2000 года.

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


Рис. 17.9.

Запрос на обновление
Щелкните на кнопке Да и изучите изменения, произошедшие с данными таблицы Список.

Установка фильтра


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

 В окне базы данных щелкните на кнопке Таблицы, а затем дважды на значке Контакты.

 В столбце Фамилия щелкните на ячейке с фамилией Петров.

Щелкните на кнопке Фильтр по выделенному (Filter By Selection). В результате видимыми останутся только те записи, в поле Фамилия которых присутствует значение Петров (рис. 17.10).

Чтобы отменить влияние фильтра, щелкните на кнопке Удалить фильтр (Remove Filter).

Примечание

Access запоминает последний применявшийся фильтр. Его можно снова назначить простым щелчком на кнопке Применение фильтра (Apply Filter). Это та же самая кнопка, с помощью которой отменяется действие фильтра, но теперь она будет иметь другое название.

Фильтр может быть и более сложным. Например, чтобы оставить все записи с фамилией Петров и непустым полем телефона, выполните следующие шаги.

Рис. 17.10.

Фильтрация записей

 Выберите команду Записи

>

Фильтр

>

Расширенный фильтр (Records

>

Filter

>

Advanced Filter/Sort). Откроется окно, похожее на конструктор запроса. Критерий равенства поля Фамилия значению Петров уже будет присутствовать в бланке фильтра.

 Перетащите поле Рабочий Телефон во второй столбец бланка.

Рис. 17.11.

Окно расширенного фильтра 

 В ячейку Условие отбора введите формулу <>Null (рис. 17.11).

Значение любого пустого поля равно величине NuIL Условие < >NuII проверяет поле на неравенство величине Null, то есть отбирает все непустые поля.

 Выберите команду Фильтр

>

Применить фильтр (Filter > Apply Filter/Sort). Настроенный" фильтр будет применен к таблице Контакты. В результате в ней останутся только две записи.

 С помощью команды Записи

>

Удалить фильтр (Records

>

Remove Filter/Sort) отмените фильтрацию.



К сожалению, назначение нового фильтра


К сожалению, назначение нового фильтра автоматически стирает все предыдущие, которые уже невозможно применить повторно. Если фильтр достаточно сложный, его многократная настройка может отнимать много времени, и вам, вероятно, захочется как-то спасти результат титанического труда. Access предлагает простой способ сохранения фильтров. Так как окно фильтра подобно конструктору запроса, было бы логично записать фильтр в виде запроса с теми же условиями отбора. Чтобы превратить фильтр в запрос, выполните следующие шаги.
Командой Записи
>
Фильтр
>
Расширенный фильтр (Records
>
Filter
>
Advanced Filter/Sort) активизируйте окно сложного фильтра, созданного в предыдущем упражнении.
 Выполните команду Файл
>
Сохранить как запрос (File > Save As Query).
 В открывшемся окне диалога введите имя Фил ьтр и щелкните на кнопке ОК.
Закройте окно фильтра.
 В окне базы данных появился новый запрос с названием Фильтр. Дважды щелкните на значке этого запроса.
Откроется окно результата выполнения запроса, записи которого будут повторять записи фильтрованной таблицы Контакты. Этим запросом можно пользоваться когда угодно, выводя на экран записи, отобранные по соответствующим критериям. Более того, любой запрос можно превратить в фильтр. Это делается следующим образом.
 Щелчком активизируйте окно таблицы Контакты (если таблица закрыта, откройте ее).
 Чтобы назначить новый фильтр (и стереть предыдущий), щелкните на ячейке с фамилией Петров правой кнопкой мыши и выберите в контекстном меню команду Исключить выделенное (Filter Excluding Selection). В таблице останутся только те записи, в поле Фамилия которых нет слова Петров.
 Щелчком на кнопке Удалить фильтр отмените фильтрацию данных. Теперь давайте вернем прежний сложный фильтр.
 Выберите команду Записи
>
Фильтр
>
Расширенный фильтр. 
 Выберите команду Файл
>
Загрузить из запроса (File
>
Load From Query).
 В открывшемся окне диалога выделите запрос Фильтр и щелкните на кнопке ОК.
Старые условия фильтрации появятся в бланке окна фильтра. Теперь для применения сохраненного фильтра достаточно щелкнуть на кнопке Применение фильтра панели инструментов.

о способах фильтрации данных, выборки


Подбор требуемых данных

ТЕМА ЗАНЯТИЯ

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

Запросы


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



Форма


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



и отчетами, выполните самостоятельно следующие



Чтобы закрепить приемы работы с формами и отчетами, выполните самостоятельно следующие операции.
Для создания нового отчета запустите мастер отчетов.
 Включите в отчет поля даты и описание контакта, а также фамилию и имя.
 Выберите вариант просмотра по таблице Список.
 Настройте группировку записей по дате.
Как с помощью мастера отчетов сгруппировать записи по дате ?
Выберите стиль отчета Блок (Block).
 В четвертом окне мастера задайте сортировку по фамилиям и именам в обратном алфавитном порядке.
Как назначить обратную алфавитному порядку сортировку по двум полям?
Назовите новый отчет Контакты по датам.
Переключитесь в режим конструктора отчетов.
 Уберите рамку всех полей.
Как быстро убрать рамку всех элементов управления?
 Перенесите первое поле даты (которое начинается с функции =Format) из раздела Область данных в раздел Заголовок группы Дата.
 Увеличьте ширину поля Дата, чтобы в него помещалась дата в длинном формате. При необходимости переместите другие поля.
 Замените текст заголовков полей на корректные русские подписи.
Распечатайте полученный отчет.

Отчет


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



Подведение итогов


Это занятие завершает серию упражнений, посвященных изучению баз данных Access. Теперь вы умеете с помощью мастеров строить формы и отчеты, обеспечивающие форматированный вывод записей таблиц базы данных на экран и на печать. Вы познакомились с конструкторами форм и отчетов, позволяющими изменять любые параметры этих объектов Access, и научились распечатывать информацию из базы данных [

Если вы собираетесь постоянно работать с Access, лучшим помощником в повседневной работе будет книга Б. Карпова «Microsoft Acccess 2002: справочник» («Питер», 2001).

].

Три следующих занятия посвящены приложению Outlook ХР — клиенту электронной почты и всемогущему планировщику вашей работы.



Мастер форм


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

 С помощью команды Файл

>

Открыть (File

>

Open) откройте базу данных Контакты, созданную на предыдущем занятии.

В окне базы данных щелкните на кнопке Формы (Forms).

 В списке форм дважды щелкните на значке Создание формы с помощью мастера (Create Form By Using Wizard).

В списке Таблицы/запросы первого окна мастера, показанного на рис. 18.1, выберите пункт Таблица: Контакты.

Рис. 18.1.

Мастер форм

Щелкните на кнопке », чтобы добавить в список Выбранные поля все поля таблицы.

 Выделите пункт Код_Контакты и щелчком на кнопке < уберите это поле обратно в левый список. Содержимое поля Код_Контакты генерируется автоматически, а его значение несущественно для пользователя, поэтому не следует включать это поле в форму.

 Щелкните на кнопке Далее.

 В следующем окне диалога выберите для формы стиль Выровненный (Justified) и щелкните на кнопке Далее.

В списке третьего окна выберите вариант оформления Камень (Stone) или любой другой понравившийся вам стиль и снова щелкните на кнопке Далее.

 В последнем окне мастера щелкните на кнопке Готово, не изменяя никаких параметров. Мастер сгенерирует форму и откроет ее в режиме просмотра данных.

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

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

 Щелкните на поле ниже подписи Адрес и введите адрес Василия Петрова.

 Аналогичным способом добавьте название компании и телефон (рис. 18.2).

Рис. 18.2.

Форма для таблицы Контакты

 Щелкните на кнопке Новая запись (New Record) и добавьте информацию еще об одном человеке. Как видите, форма позволяет просматривать и редактировать любую запись, а также добавлять записи.



Конструктор форм


Недостатком форм, создаваемых мастером, является то, что они однообразны и не содержат пояснительных надписей. Чтобы приукрасить форму и расположить поля более удобным образом, следует воспользоваться конструктором форм, который позволяет передвигать и масштабировать элементы формы, связывать их с источником данных и настраивать любые другие параметры формы. Давайте создадим с помощью конструктора форму для таблицы Список.

 В окне базы данных дважды щелкните на значке Создать форму в режиме конструктора (Create Form In Design View). В окне конструктора присутствуют пустая форма с разметочной сеткой, вертикальная и горизонтальная линейки, помогающие позиционировать объекты (рис. 18.3). Неотъемлемым атрибутом конструктора форм является пацель инструментов Панель элементов (Toolbox), помогающая добавлять элементы формы. Новую форму необходимо связать с источником данных — таблицей Список.

Рис. 18.3.

Конструктор форм

Щелкните в пустой области конструктора и выберите в контекстном меню команду Свойства (Properties).

На вкладке Данные (Data) окна диалога свойств формы (рис. 18.4) щелкните на стрелке поля Источник записей (Record Source).

Примечание

Любой элемент формы имеет контекстное меню, в котором есть команда Свойства. Выбор такой команды открывает окно свойств, подобное окну свойств формы. Вкладка Макет (Format) содержит параметры форматирования объекта. Вкладка Данные — описание источника данных, различные ограничения и условия, накладываемые на данные поля. Вкладка События (Event) позволяет писать функции отклика на различные события (например, перемещение мыши на объект). Параметры, не вошедшие в первые три группы, размещаются на вкладке Другие (Other). Вкладка Все (АН) обеспечивает одновременный доступ ко всем параметрам.

Выберите в раскрывшемся списке пункт Список.

 Закройте окно свойств. В конструкторе форм появится небольшое окно со списком полей источника записей (таблицы Список). Это окно помогает добавлять элементы управления формы.
Его можно скрывать или выводить на экран с помощью кнопки Список полей (Field List). Сейчас нужно добавить в форму три области ввода для трех полей таблицы.
 Поместите указатель на пункт Дата окна Список, нажмите кнопку мыши и перетащите этот пункт в область формы. Access создаст элемент управления типа поле, а также подпись.



Рис. 18.4.

Окно свойств формы
Проделайте аналогичную операцию для пунктов Описание и Код_Контакты, расположив поля примерно так, как показано на рис. 18.5. Любой объект формы можно выделить щелчком мыши, при этом вокруг него появляется габаритная рамка с боковыми и угловыми маркерами масштабирования объекта. В левом верхнем углу объекта появляется большой квадрат, за который можно перетаскивать объект в пределах формы.
Щелчком выделите подпись Описание. Затем еще раз щелкните на ней, чтобы перейти в режим редактирования. Замените имеющийся текст на Описание контакта.
 Захватите правый боковой маркер поля Описание мышью и растяните рамку поля до правого края формы.


Рис. 18.5.

Добавление полей


Рис. 18.6.

Готовая форма
 При необходимости, ухватившись за маркер перемещения мышью, подвигайте поле Описание.
 Повторите процедуры шагов 8-10 для всех трех полей. Разместите их и настройте подписи в соответствии с рис. 18.6.
 Чтобы привести оформление новой формы в соответствие с форматом формы, созданной в предыдущем упражнении, щелкните на кнопке Автоформат (AutoFormat) панели инструментов.
 Выберите в списке открывшегося окна диалога пункт Камень и щелкните на кнопке ОК. Access приведет фон формы, оформление, цвет и шрифт полей в соответствие с выбранным шаблоном.
 Щелчком на кнопке Вид перейдите в режим редактирования данных.
В форму будет выведено содержимое первой записи таблицы Список. Обратите внимание, что поле с подписью Фамилия имеет такой же список подстановки, который был настроен для поля Код_Контакты таблицы Список на предыдущем занятии.Структура списка подстановки была перенесена в форму в процессе перетаскивания поля на шаге 7.
Закройте окно формы.
 В появившемся окне диалога введите в качестве имени новой формы слово С п и с о к и щелкните на кнопке О К.
Теперь форма Список появится на вкладке Формы (Forms) окна базы данных.

Примечание
Чтобы одновременно переместить поле вместе с его подписью, тащите объект за тело подписи (но не за маркер перемещения).

Элементы управления


При открытии конструктора форм на экране появляется панель элементов (см. рис. 18.3). Если ее нет, щелкните на кнопке Панель элементов панели инструментов. С помощью кнопок панели элементов в форму можно добавлять различные объекты, типы которых перечислены в табл. 18.1. Элементы управления форм и отчетов сходны между собой, поэтому такая же панель элементов имеется и в конструкторе отчетов, о котором мы поговорим на этом занятии позже, а все операции, рассматриваемые в этом и в следующем упражнении, одинаково применимы как к формам, так и к отчетам.

Примечание

В предыдущем упражнении в форму было добавлено шесть элементов управления: два поля ввода (Дата и Описание), одно поле со списком Код_Контакты и три надписи, по одной рядом с каждым полем.

ТАБЛИЦА 18.1.

Элементы управления форм и отчетов

Значок

Название

Назначение

Надпись (Label)

Надписи создаются автоматически вместе с элементами типа текстовое поле, поле

со списком и т. п. Они разъясняют смысл поля ввода. Дополнительные надписи могут

использоваться для заголовков и пояснений

Поле (Text Box)

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

Группа переключателей (Option Group)

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

целочисленному значению этого поля

Выключатель (Toggle Button)

Позволяет вводить информацию типа да/нет. Величине «да» или «истина» соответствует утопленное положение выключателя

Переключатель (Option Button)

Элемент группы переключателей, в которой может быть отмечен только один из них (его кружок выглядит зачерненным)

Флажок (Check Box)

Предназначен для представления полей типа да/нет. Отмеченный квадратик соответствует величине «да», а пустой — «нет»

Поле со списком (Combo Box)

Разрешает как непосредственный ввод значения в поле, так и его выбор в

раскрывающемся списке предопределенных

значений

Список (List Box)

Позволяет выбирать данные из набора пунктов и не разрешает непосредственный ввод значений

Кнопка (Command Button)

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

многие другие операции

<




Рисунок

Рисунок любого графического формата с рамкой



Свободная рамка объекта (Unbound Object Frame)

Объект OLE, не связанный ни с каким источником данных



Присоединенная рамка объекта
(Bound Object Frame)

Объект OLE, связанный с полем данных таблицы или запроса



 Разрыв страницы
 (Page Break)

Линия, по которой формируется перевод
страницы при выводе формы или отчета
на принтер



 Набор вкладок
(Tab Control)

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



 Подчиненная форма/отчет
 (Subform/Subreport)

Вставляет в форму (или отчет) область
с другой формой (или отчетом), связанной
с главной



Линия
(Line)

Добавляет прямую линию



Я Прямоугольник
(Rectangle)

Рисует прозрачный или непрозрачный
прямоугольник с цветной границей любой толщины



 Другие элементы
(More Controls)

Открывает меню с элементами управления,
не вошедшими в панель элементов

Чтобы с помощью панели элементов добавить в форму декоративные объекты, выполните следующие шаги.
Поместите указатель мыши на угол области формы.
Перетащите этот угол вправо вниз, чтобы немного увеличить форму.
 С помощью команды Правка
>
Выделить все (Edit > Select All) выделите все элементы формы.
Нажмите клавишу Ctrl и, не отпуская ее, нажатиями клавиш со стрелками передвиньте элементы формы так, чтобы они были отцентрированы относительно новых границ формы.
Щелкните на кнопке Прямоугольник (Rectangle) панели элементов.
 Растяните мышью диагональ прямоугольника, чтобы он окружил все элементы формы (рис. 18.7).
 В палитре кнопки 11вет линии/границы (Line/Border Color) панели инструментов Форматирование (Formatting) выберите синий цвет.




Рис. 18.7.

Добавление элементов формы
В палитре кнопки Толщина линии/границы (Line/Border Width) выберите толщину 4 пиксела.
Щелкните на кнопке Рисунок (Image) панели элементов.
  В левом нижнем углу формы растяните рамку рисунка.


Рис. 18.8.

Параметры рисунка
 В открывшемся окне выбора файла найдите папку, в которую был установлен Office XP (обычно она называется Microsoft Office), раскройте вложенную в нее
папку Office10\Broadcast, выберите файл NS_logo.gif и щелкните на кнопке ОК. (Вместо этого файла можете вставить любой другой не слишком большой рисунок.)
По умолчанию рисунки вставляются в форму в режиме урезания рисунка рамкой элемента. Чтобы изменить режим размещения, выполните следующие действия.
 Щелкните на рисунке правой кнопкой мыши и выберите в контекстном меню команду Свойства.
 В списке Установка размеров (Size Mode) вкладки Макет открывшегося окна параметров выберите пункт Вписать в рамку (Stretch), как показано на рис. 18.8. Теперь рисунок будет растягиваться и сжиматься вместе с рамкой элемента, подстраиваясь под ее размеры.
 Закройте окно параметров.

Заголовок и примечание


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

 В конструкторе формы Список щелкните на свободном пространстве правой кнопкой мыши.

Выберите в контекстном меню команду Свойства, чтобы открыть окно свойств формы, показанное на рис. 18.9.

Рис. 18.9.

Параметры форматирования формы

 В списке Режим по умолчанию (Default View) вкладки Макет выберите пункт Ленточная форма (Continuous Forms).

 Закройте окно параметров.

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

 Выберите команду Вид

>

Заголовок/примечание формы (View

>

Form Header/Footer), в окне конструктора формы появятся дополнительные области, показанные на рис. 18.10.

 Щелкните на кнопке Надпись (Label) панели элементов.

 Растяните мышью прямоугольник в разделе Заголовок формы (Form Header).

Введите текст Список контактов.

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

 В списке Размер (Font Size) панели инструментов Форматирование выберите число 22.

 Щелкните на кнопке По центру (Center).

 Поместите указатель на верхний край полосы Область данных (Detail) и, нажав кнопку мыши, перетащите ее вверх, уменьшив область заголовка до необходимых размеров.

Рис. 18.10.

Добавление заголовка и примечания

Рис. 18.11.

Ленточная форма

 Повторив шаги 6-8, введите в примечание формы текст Если при добавлении контакта вы не нашли нужного человека в списке Фамилии, с помощью формы Контакты добавьте информацию об этом человеке в новую запись таблицы Контакты.

 Перетащите нижний край формы вверх, уменьшив ее по высоте.

 Щелкните на кнопке Вид.

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



Мастер отчетов


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

 В окне базы данных щелкните на кнопке Отчеты (Reports).

Дважды щелкните на значке Создание отчета с помощью мастера (Create Report By Using Wizard).

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

Рис. 18.12.

Выбор полей для отчета

В раскрывающемся списке Таблицы и запросы первого окна мастера отчета выберите таблицу Контакты.

В списке Доступные поля выделите поле Фамилия.

 Щелчком на кнопке > переместите выбранное поле в список Выбранные поля.

Повторяя шаги 4 и 5, добавьте в список Выбранные поля поля Имя, Адрес, Название Компании, Рабочий Телефон.

Примечание

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

Выберите в списке Таблицы и запросы таблицу Список.

Переместите в список Выбранные поля поля Дата и Описание, добавив их к по лям таблицы Контакты.

9. Щелкните на кнопке Далее.

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

Рис. 18.13.

Пятое окно мастера отчетов

 Оставьте вариант Контакты (By Контакты) и щелкните на кнопке Далее.


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


Рис. 18.14.

Фрагмент отчета, сгенерированного мастером
 Выберите положение переключателя Структура 1 (Outline 1).
Затем щелкните на кнопке Далее.
 В следующем окне мастера выберите вариант оформления Строгий (Corporate) и щелкните на кнопке Далее.
 Введите в качестве заголовка текст Список контактов и щелкните на кнопке Готово.
Мастер сформирует отчет и откроет его в отдельном окне в режиме предварительного просмотра (рис. 18.14). В нем видно, что сначала идет фамилия первого человека, информация о нем и список контактов с ним, затем располагаются те же данные, касающиеся второго человека, и т. д. В целом отчет выглядит неплохо и может устроить нетребовательного пользователя.

Конструктор отчетов


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

 названия таких полей, как Фамилия и Имя, явно лишние, их следует убрать;

 информация о человеке занимает слишком много места, ее можно представить компактнее;

 некоторые подписи следует заменить более понятными;

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

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

>

Конструктор.

Рис. 18.15.

Конструктор отчетов

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

 Щелчком выделите надпись Фамилия.

 Нажатием клавиши Delete удалите надпись.

ТАБЛИЦА 18.2

. Разделы отчета

Раздел

Назначение

Заголовок отчета

(Report Header)

Печатается в самом начале отчета один раз.

Выводится и скрывается командой

Вид

>

Заголовок/примечание отчета

(View

>

Report Header/Footer)

Верхний колонтитул

(Page Header)

Печатается в верхнем поле каждой страницы.

Выводится и скрывается командой

Вид

>

Колонтитулы (View

>

Page Header/Footer)

Заголовок группы КолКонтакты

(КонтактыЮ Header)

Появляется в начале каждой группы записей,

соответствующих очередному значению поля

КодКонтакты (то есть того поля, по которому

назначена группировка)

Область данных

(Detail)

Основные данные отчета

Нижний колонтитул

(Page Footer)

Печатается в нижнем поле каждой страницы.

Выводится и скрывается командой

Вид > Колонтитулы (View > Page Header/Footer)

Примечание отчета

(Report Footer)

Печатается в самом конце отчета. Выводится

и скрывается командой Вид > Заголовок/приме

чание отчета (View > Report Header/Footer)

<
 Повторяя шаги 2 и 3, удалите из раздела Заголовок группы Код_Контакты надписи Имя, Дата и Описание. Назначение соответствующих полей очевидно и не нуждается в пояснении.
 Щелкните на горизонтальной линии, расположенной ниже поля Назвакие Компании, правой кнопкой мыши и выберите команду Вырезать (Cut).
 Аналогичным приемом удалите три оставшиеся линии раздела Заголовок группы Код_Контакты. Нет смысла выводить подписи полей адреса, названия компании и телефона в заголовке каждой группы. Достаточно будет поместить соответствующие надписи в верхний колонтитул страницы.
 Поместите указатель мыши между заголовками разделов Верхний колонтитул и Заголовок группы Код_Контакты, чтобы его значок превратился в двунаправленную стрелку. Нажмите кнопку мыши и перетащите заголовок группы вниз, освобождая место для верхнего колонтитула.
 Щелчком выделите надпись Адрес. Нажмите клавиши Ctrl+X, чтобы вырезать ее.
 Щелкните на заголовке раздела Верхний колонтитул и нажмите клавиши Ctrl+V, чтобы вставить вырезанную надпись в верхний колонтитул.
 Выделяя надписи колонтитула и перетаскивая их мышью за маркер верхнего левого угла либо передвигая нажатием клавиши Ctrl и клавиш со стрелками, разместите их так, как показано на рис. 18.16.


Рис. 18.16.

Перемещение надписей между разделами
 Щелкните на надписи Адрес. Повторным щелчком на ней включите режим редактирования и замените текст на Почтовый адрес.
Описанным выше приемом измените текст подписей НазваниеКомпании и РабочийТелефон соответственно на Компания и Телефон.
 Переставьте поля раздела Заголовок группы Код_Контакты, разместив их в две строки. Фамилия и имя — в первой строке, а остальные три поля — во второй.
 Щелкните правой кнопкой мыши на жирной линии, расположенной в разделе Заголовок отчета. Выберите в контекстном меню команду Копировать (Copy).
Щелкните на заголовке раздела Заголовок группы Код_Контакты и нажмите клавиши Ctrl+V, чтобы вставить в этот раздел дубликат линии.


Нажимая клавиши Ctrl+V, переместите линию вниз, под вторую строку полей данных.
 Снова нажмите Ctrl+V, добавив вторую линию вдоль верхнего края раздела.
 Перетащите заголовок раздела Область данных вверх, убрав излишнее пустое пространство.
 Щелчком выделите поле Дата. Увеличьте его горизонтальный размер, перетащив вправо серединный маркер правой границы поля.


Рис. 18.17.

Модифицированная структура отчета
Растяните поле Описание вправо до границы отчета. Окончательный вид новой структуры отчета показан на рис. 18.17.
 С помощью команды Вид
>
Предварительный просмотр (View
>
Print Preview) переключите отчет в режим вывода данных. В новом варианте, показанном на рис. 18.18, информация размещается намного компактнее.
 Закройте отчет. При появлении запроса о необходимости сохранения новой структуры отчета щелкните на кнопке Да.

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


Рис. 18.18.

Просмотр нового варианта отчета

Группировка и сортировка


Отчет, который вы сконструировали в двух предыдущих упражнениях, имеет еще один существенный недостаток. Фамилии людей из списка Контакты выводятся не по алфавиту. Мастер отчетов автоматически сгруппировал данные таблицы Список по их принадлежности к тем или иным записям таблицы Контакты, которая определяется связью между полями Код_Контакты этих двух таблиц. По указанной причине фамилии в отчете упорядочены по возрастанию числового параметра Код_Контакты — идентификатора записей таблицы Контакты. Это неудобно, в отчетах с большим числом записей при такой сортировке будет довольно трудно отыскать нужного человека. Есть смысл изменить порядок сортировки, для этого выполните следующие шаги.

Щелкните на кнопке Отчеты окна базы данных.

Выделите значок отчета Список контактов.

Щелчком на кнопке Конструктор панели инструментов окна базы данных от- кройте отчет в режиме конструктора.

Щелкните на кнопке Сортировка и группировка (Sorting And Grouping) панели инструментов, чтобы открыть окно диалога, показанное на рис. 18.19.

Рис. 18.19.

Сортировка и группировка

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

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


нового значения
поля, по которому выполняется группировка. Код_Контакты — уникальный идентификатор записей таблицы Контакты, группировка по которому обеспечивает вывод в отчет всех записей этой таблицы. Для сортировки записей по алфавиту фамилий и имен следует добавить в список окна диалога Сортировка и группировка (Sorting And Grouping) соответствующие поля, разместив их
выше
поля группировки Код_Контакты.
Щелкните в третьей строке на кнопке раскрывающегося списка Поле/выражение (Field/Expression).
 Выберите пункт Фамилия.
В раскрывающемся списке Поле/выражение четвертой строки окна Сортировка и группировка выберите пункт Имя.

Примечание
При добавлении нового поля сортировки Access автоматически назначает ему порядок сортировки По возрастанию. Чтобы реализовать обратный порядок записей, выберите в раскрывающемся списке ячейки Порядок сортировки соответствующей строки пункт По убыванию (Descending).
Щелчком на кнопке строки Фамилия выделите ее.
 Поместите указатель на кнопку строки Фамилия, нажмите кнопку мыши и перетащите строку на самый верх списка. Отпустите кнопку мыши в тот момент, когда жирная горизонтальная линия, показывающая будущее расположение перемещаемой строки, окажется над первой строкой таблицы.
 Повторяя шаги 8 и 9, разместите строку Имя между строками Фамилия и Код_Контакты, как показано на рис. 18.20.


Рис. 18.20.

Добавление полей сортировки 
 Закройте окно Сортировка и группировка. 

Примечание
Заголовки тех групп, для которых нет ни одной записи в таблице Список, в отчет не выводятся.
 Щелкните на кнопке Вид панели инструментов, чтобы вывести отчет в режиме предварительного просмотра.
Теперь записи сначала сортируются по фамилиям, затем по именам. После этого для каждой новой записи таблицы Контакты появляется заголовок группы (так как величины поля Код_Контакты для всех записей различны). Ниже каждого такого заголовка из таблицы Список выводятся все контакты, соответствующие данному значению величины Код_Контакты, то есть данному человеку (рис. 18.21).


Рис. 18.21.

Окончательный вид отчета 
 Закройте отчет.

Предварительный просмотр


Перед выводом объекта базы данных на принтер нужно настроить параметры страницы и проверить правильность форматирования в режиме предварительного просмотра. Давайте выполним все эти действия на примере таблицы Контакты.

 В окне базы данных щелкните на кнопке Таблицы.

Двойным щелчком на значке Контакты откройте эту таблицу в режиме редактирования данных.

Увеличьте ширину столбца Адрес (Address), перетащив вправо его правую границу, чтобы адреса не обрезались по длине.

Выберите команду Формат

>

Подтаблица

>

Развернуть все (Format > Subdatasheet

>

Expand All), чтобы отобразить записи таблицы Список.

Выделите столбец Код_Контакты, щелкнув на его заголовке.

С помощью команды Формат

>

Скрыть столбцы (Format

>

Hide Columns) скройте выделенный столбец. Этот служебный столбец не нужно печатать.

 Щелкните на заголовке столбца Ключ подчиненной таблицы.

 Повторным выполнением команды Формат

>

Скрыть столбцы уберите и этот столбец.

Примечание

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

Выберите команду Файл

>

Предварительный просмотр. Вы увидите предпола-гаемое > оформление бумажной копии таблицы.



Печать таблиц и запросов


Чтобы распечатать активный объект (таблицу, запрос, форму или отчет) базы данных, выполните следующие шаги.

Выберите команду Файл

>

Параметры страницы (File

>

Page Setup). Откроется окно диалога, которое позволяет настроить размер страницы, ее ориентацию и поля (рис. 18.22).

 На вкладке Поля (Margins) увеличьте левый отступ до 40 мм. Изменение полей отразится на образце, демонстрируемом в разделе Образец (Sample).

 Щелкните на вкладке Страница (Page). При необходимости измените ориентацию на Альбомная (Landscape).

Ориентация и поля страницы определяют, сколько записей сможет поместиться на одном листе.

Щелкните на кнопке ОК.

 Выберите команду Файл

>

Печать (File

>

Print). Откроется окно диалога Печать (Print).

В раскрывающемся списке Имя (Name) выберите принтер. В разделе Копии (Copies) укажите необходимое число копий и щелкните на кнопке ОК.

Рис. 18.22.

Параметры страницы



Файловые операции


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

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

 Чтобы сжать базу данных, выполните команду Сервис

>

Служебные программы

>

Сжать и восстановить базу данных (Tools

>

Database Utilities

>

Compact And Repare Database).

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

Та же самая команда выполняет восстановление базы данных, поврежденной в результате внезапного сбоя электропитания. Иногда в процессе работы вы заметите, что база данных ведет себя как-то странно. В такой ситуации, не дожидаясь предупреждения, выполните команду Сжать и восстановить базу данных. Access по возможности восстановит нарушения, обнаруженные в структуре данных.

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

 Закройте базу данных.

 Щелкните на кнопке Открыть панели инструментов.

 В окне открытия файла выделите значок Контакты.mdb.

 Щелкните на стрелке палитры кнопки Открыть и выберите пункт Монопольно (Open Exclusive). Такой режим открытия предотвращает одновременный доступ к базе данных другого пользователя через локальную сеть.

 Выберите команду Сервис

>

Защита > Задать пароль базы данных (Tools

>

Security

>

Set Database Password).


 В поле Пароль (Password) открывшегося окна диалога введите пароль.
Для проверки повторно введите тот же пароль в поле Подтверждение (Verify).
 Щелкните на кнопке ОК. Теперь для следующего открытия базы данных потребуется вводить пароль.

Примечание
Чтобы удалить пароль, выберите команду Сервис > Защита > Удалить пароль базы данных (Tools > Security > Remove Database Password), введите старый пароль и щелкните на кнопке ОК.
Еще одним полезным инструментом Access является возможность пересылки информации из базы данных в другие приложения Office XP. Например, чтобы для выполнения вычислений переслать таблицу Контакты в книгу Excel, выполните следующие операции.
 Щелкните на кнопке Таблицы окна базы данных.
Выделите таблицу Контакты.
Выберите команду Сервис
>
Связи с Office
>
Анализ в MS Excel (Tools
>
Office Links
>
Analyze It With MS Excel).

Примечание
Кроме передачи данных в Excel вы можете с помощью команды Публикация в MS Word (Publish It With MS Word) того же подменю опубликовать их в Word или, выполнив команду Слияние с MS Word (Merge It With MS Word), использовать информацию базы данных в качестве источника данных для слияний, которые обсуждались на занятии 8.
Access автоматически запустит Excel XP, создаст новую книгу с одним листом и перешлет в его ячейки данные из таблицы Контакты.

Вывод результатов


Несмотря на многообразие объектов баз данных, все они печатаются с помощью одних и тех же приемов. Вид печатной копии отчета или формы определяется расположением элементов управления в окне конструктора. Таблицы и запросы вообще практически не имеют параметров форматирования. Ширина и высота ячеек, а также шрифт их содержимого настраиваются непосредственно в режиме просмотра таблицы или запроса с помощью команд меню Формат (Fornrat). Перед печатью данных полезно вывести отчет в режиме предварительного просмотра, после чего можно распечатывать его на бумагу.



с ними не очень удобно


Формы и отчеты

ТЕМА ЗАНЯТИЯ

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