Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

АксцессЛаба

.pdf
Скачиваний:
40
Добавлен:
17.05.2015
Размер:
976.96 Кб
Скачать

этого знака, к верхнему регистру, символ «<» преобразует все символы, расположенные правее этого знака, к нижнему регистру.

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

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

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

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

В тех СУБД, которые поддерживают концепцию ключа (в том числе и в Microsoft Access), после того как в таблице определяется ключ, по этому полю производится индексирование и запрещается ввод повторяющихся или пустых значений ключа.

Свойство «Индексированное поле» определяет, надо ли создавать индекс по этому полю. Не допускается создание индексов для полей MEMO, гиперссылок и объектов OLE.

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

1.Режим таблицы – открывает заготовку, в которой все поля имеют формальные имена: Поле1, Поле2 и т. д.

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

3.Мастером таблиц пользуются наиболее опытные разработчики. Это программа, ускоряющая создание структуры таблицы. Мастер задает ряд вопросов и, руководствуясь полученными ответами, создает структуру таблицы автоматически.

4.Импорт таблиц – самый «автоматичный» способ – состоит в импорте таблиц из другой базы, может быть, даже созданной в другой системе. В зависимости от обстоятельств из импортируемой таблицы может поступить структура полей, их названия и свойства, а также и содержимое базы. Если что-то импортируется не совсем так, как надо, необходимые правки (например, в свойства полей) вносят вручную.

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

13

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

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

Создание поля подстановки

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

Поле подстановок можно создать, используя Мастер подстановок. Для этого следует:

1.Открыть таблицу в режиме Конструктора.

2.В столбце «Тип данных» поля, где будет сделана подстановка, в раскрывающемся списке выбрать «Мастер подстановок».

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

из ранее созданной таблицы или запроса (рис. 2);

набор фиксированных значений (рис. 3).

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

Рис. 2

Рис. 3

Связи между таблицами

Связь соединяет таблицы. Используя связь, создаются запросы, получающие данные из двух или большего числа таблиц. Связи объединяют относящиеся друг к другу данные из разных таблиц.

Имеется три типа связей (отношений):

14

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

таблица, находящаяся на стороне отношения «один» называется главной (адресуемой) таблицей. Таблица на стороне отношения «многие» называется

внешней (адресующей);

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

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

Окно Схема данных открывают щелчком на кнопке на панели инструментов или путем выполнения команд: Сервис; Схема данных. При этом:

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

Если связи между таблицами уже были заданы, то для введения в

схему данных новой таблицы надо щелкнуть правой клавишей мыши по схеме данных – Добавить таблицу.

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

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

Флажки «Каскадное обновление связанных полей» и «Каскадное удаление связанных записей» обеспечивают одновременное обновление или удаление данных во всех подчиненных таблицах при их изменении в главной таблице.

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

15

Запросы

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

Для выполнения операций с запросом в окне базы данных необходимо открыть вкладку «Запросы».

Виды запросов

Различают следующие виды запросов:

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

2.Запросы с параметрами. При их выполнении в диалоговом окне пользователю выдается приглашение ввести данные. Например, две даты. Такие запросы удобно использовать в качестве основы для форм и отчетов за период.

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

4.Запрос на действие (активный запрос). Вносит множественные изменения за одну операцию, которые отменить нельзя. Фактически это запрос на выборку, который выполняет определенные действия над результатом отбора (обновление, удаление, добавление записей и создание таблицы).

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

Создание запроса к базе начинается с открытия вкладки Запросы диалогового окна База данных. На этой вкладке отображены методы создания запросов:

1. Команда «Создать» – самостоятельное создание нового запроса. При этом команды:

Конструктор – открывает чистый бланк запроса к выбранной таблице; Простой запрос – Создает запрос к выбранным полям;

Перекрестный запрос – суммирует данные в табличной форме; Повторяющиеся записи – обнаруживает повторяющиеся записи в таблице; Записи без подчиненных – Обнаруживает в таблице записи, у

которых нет соответствующей записи в связанной таблице.

16

2. Создание с помощью «Мастера». Каждый запрос строится Мастером, который запрашивает необходимую информацию для создания запроса.

Создания запроса с помощью Конструктора

Этот способ является наиболее часто используемым. Он начинается с нажатия кнопки «Конструктор».

Рис. 4

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

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

шестая – критерий отбора записей; седьмая – задает альтернативный критерий.

Для продолжения построения запроса необходимо выбрать один или связанных несколько объектов, затем выбрать поля из них и ввести критерии поиска информации. Затем проверить правильность выполнения запроса и его сохранить.

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

Критерии отбора информации

При помощи строки «Условие отбора» можно отобрать записи, используя следующие типы условий:

17

1.Точное соответствие: вводится значение (например, текстовая строка или количество денег), которому должно соответствовать значение в поле.

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

*

вместо любого количества любых символов

?

вместо одного любого символа

#

вместо одной цифры

[]

для нахождения символов, совпадающих с одним из тех, что в скобках.

 

Пример: A[BC] будет соответствовать AB или AC

!

для нахождения символов, не совпадающих с теми, что в скобках

для определения диапазона символов [А К]

LIKE

Для поиска символов. LIKE “[А Д]*” поиск фамилий, начинающихся

 

с букв АД.

3.Критерии исключения. Используется оператор NOT для исключения записей, соответствующих этому критерию. Например: NOT АВ.

4.Соответствие по дате. Используется точная дата или оператор DATE(), который представляет дату по часам ПК.

5.Пустые значения. Используется константа NULL для указания, что следует видеть только пустые ячейки. NOT NULL – только непустые ячейки.

6.Операторы сравнения (>, < , =>, <=, <>, =).

7.Множественные критерии. Для составления множественных критериев внутри одного поля используются логические операторы (NOT, AND, OR, BETWEEN).

Чтобы открыть окно построителя нужно щелкнуть в поле бланка ПКМ

(правой клавишей мыши). Построитель предоставляет иерархические списки, содержащие большинство элементов – функции, операторы, константы и поля. Эти элементы можно вставить в выражение.

Вычисления в запросах

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

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

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

18

П р и м е р

стоимость:

[ЦЕНА ] *

[КОЛИЧЕСТВО]

Название нового

 

 

поля

поле_1

поле_2

двоеточие

знак

 

 

операции

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

В нем можно ввести или просмотреть формулу произвольной длины. Пример:

Сумма: Sum ([Заказ]![Количество]*[Заказ]![Цена]) Остаток: Sum ([Товар]![Количество]-[Заказ]![Количество])

Выполнение групповых расчетов

Microsoft Access позволяет выполнять вычисления для группы записей. Например, можно определить среднюю стоимость товара данного типа или найти работника с наибольшей заработной платой на предприятии. Для этого используются статистические функции в строке «Групповая операция» бланка запроса.

В бланке запроса раскрывающегося списка в ячейке строки «Групповая операция» двенадцать элементов:

1.Группировка определяет группы, для которых выполняются вычисления.

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

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

Sum ([НаСкладе]+[Заказано]).

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

3. Условие необходимо для поля, которое не участвует в группировке.

4. Девять статистических функций (табл. 2)

 

 

Таблица 2

 

 

 

 

 

 

Функция

Результат

Тип поля

Sum

Сумма значений поля

Числовой, Дата/время, Денежный и

 

 

Счетчик

Avg

Среднее от значений поля

Числовой, Дата/время, Денежный и

 

 

Счетчик

 

 

 

19

 

 

Окончание табл. 2

 

 

 

Min

Наименьшее значение поля

Текстовый, Числовой, Дата/время,

 

 

Денежный и Счетчик

 

 

 

Max

Наибольшее значение поля

Текстовый, Числовой, Дата/время,

 

 

Денежный и Счетчик

 

 

 

Count

Число значений поля без учета

Текстовый, Числовой, Дата/время,

 

пустых значений

Денежный, Счетчик, Логический, Поле

 

 

объекта OLE

StDev

Среднеквадратичное отклонение от

Числовой, Дата/время, Денежный и

 

среднего значения поля

Счетчик

Var

Дисперсия значений поля

Числовой, Дата/время, Денежный и

 

 

Счетчик

 

 

 

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

Замечания

Если вычисляемое поле определяется с помощью статистической функции, то Microsoft Access создает имя, под которым поле будет выводиться в режиме таблицы, путем объединения имени функции и имени поля, содержащего данные (например, «Avg_СтоимостьДоставки»).

Если вычисляемое поле определяется с помощью выражения, которое включает одну или несколько статистических функций, необходимо выбрать в ячейке строки Групповая операция элемент «Выражение».

Для каждого вычисляемого поля следует выбрать одно выражение.

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

Для выполнения группировки до выполнения вычислений над группами записей следует определить условия в ячейках строки «Группировка».

20

П р и м е р Создать запрос, включающий номер клиента, общий объем заказов фирме

вденежном выражении и количество заказов клиента фирме.

Врежиме Конструктора запрос будет иметь вид

Поле

Номер клиента

общий:

Номер клиента

 

 

Sum([Заказ]![Количество]*[Заказ]!

 

 

 

[Цена])

 

Имя таблицы

Заказ

 

Заказ

Групповая

Группировка

Выражение

Count

операция

 

 

 

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

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

1)отрыть новое окно запроса в режиме Конструктора;

2)для каждого поля, которое предполагается использовать как параметр, ввести в ячейку строки «Условия отбора» текст приглашения, заключенный в квадратные скобки. Это приглашения будет выводиться при запуске запроса. Текст приглашения должен отличаться от имени поля, но может включать его.

Пр и м е р ы

1.Параметром в запросе является фамилия клиента, которая вводится с клавиатуры

Рис. 5

2.Для ввода временного интервала в качестве параметра можно ввести приглашения вида «Введите начальную дату» и «Введите конечную дату» (для задания периода времени) с использованием оператора

BETWEEN [ Введите начальную дату ] and [Введите конечную дату].

3.Для ввода пользователем первого символа для поиска записей, которые начинаются с него, приглашение имеет вид:

LIKE[Введите первый символ для поиска] & «*»

21

Запросы на изменение

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

Для создания активного запроса необходимо создать запрос на выборку, а затем превратить его в активный запрос, нажав на кнопку «Тип запроса». Отмена внесенных изменений после запуска активного запроса будет невозможна, поэтому всегда при работе с активными запросами необходимо сохранять резервную копию объектов БД, которые находятся под воздействием активного запроса.

Формы

Для ввода данных в таблицы или для просмотра данных в наглядном виде служат формы.

Создание форм можно выполнить автоматически (автоформы), полуавтоматически (с помощью Мастера) или вручную (в режиме Конструктора).

Создание форм

Автоформы – самый простой вид автоматических форм.

Для создания автоформы надо открыть вкладку Формы – Создать.

В окне диалога «Новая форма» выбрать в качестве источника данных для формы какую-либо таблицу или запрос, после чего создать автоформу двойным щелчком в списке выбора вида автоформы (табличная, ленточная или в столбец).

Спомощью Мастера форма создается в четыре этапа:

1)выбор полей (двойным щелчком), данные для которых можно будет вводить в форме – Далее;

2)выбор внешнего вида формы (один из четырех: в столбец, табличная, ленточная, выровненный) – Далее;

3)выбор фонового рисунка формы (один из десяти) – Далее;

4)задание имени формы – Готово.

Готовую форму можно сразу же использовать для просмотра существующих записей или для ввода новых.

Структура форм

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

Разделы формы

Чтобы познакомиться со структурой формы, нужно выбрать вкладку Формы и перейдите в режим Конструктора. Рядом с формой открывается

22