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

1945

.pdf
Скачиваний:
5
Добавлен:
07.01.2021
Размер:
2.27 Mб
Скачать

Окно базы данных содержит вкладки Таблицы (Tables), Запросы

(Queries), Формы (Forms), Отчеты (Reports), Макросы (Macros) и

Модули (Modules) – это объекты базы данных, а также кнопки От-

крыть (Open), Конструктор (Design), Создать (New).

Объекты базы данных Access

В Access база данных – это хранилище данных и соответствующих им объектов. Объекты базы данных – это таблицы, запросы, формы, отчеты, макросы.

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

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

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

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

Макрос – объект, представляющий собой набор действий (макрокоманд), автоматически выполняющихся при запуске макроса.

Создание таблицы

1.В окне базы данных выбрать вкладку Таблица (Tables).

2.Нажать кнопку Создать (New).

3.Выбрать режим Конструктор (Design View) и нажать кнопку

ОК.

4.В окне конструктора (рис. 10) ввести названия полей, определить их типы и установить нужные свойства.

5.Определить ключевое поле, установив в нем курсор и нажав кнопку Первичный ключ (Primary Key) на панели инструментов.

6.Закрыть окно конструктора, сохранив таблицу.

41

Рис. 10. Окно конструктора таблиц

После того как вы выполните п. 3, на экране появится окно конструктора таблиц (см. рис. 10). Оно состоит из двух частей: верхней, в которой указываются названия и типы полей (данных), и нижней, в которой определяются свойства каждого поля. Раздел Свойства поля (Field Properties) состоит в свою очередь из двух вкладок: Общие (General) и Подстановка (Lookup). Переход от верхней части окна конструктора к нижней и наоборот осуществляется с помощью клавиши [F6] или мыши.

Имя поля вводится с клавиатуры в столбце «Имя поля» (Field Name). Чтобы задать тип данных, нужно установить курсор в столбце «Тип данных» (Data Type) в нужной строке и нажать на появившуюся кнопку , а затем выбрать из раскрывающегося списка тип данных.

Основные типы данных:

1.Текстовый (Text).

2.Мемо (Memo).

3.Числовой (Number).

4.Дата/время (Date/Time).

5.Денежный (Currency).

6.Счетчик (AutoNumber).

7.Логический (Yes/No).

8.Объект OLE (OLE object).

Свойства поля зависят от его типа. Установка свойств полей осуществляется в режиме конструктора в разделе Свойства поля (см. рис. 10). Рассмотрим основные свойства.

1. Размер поля (Field Size) – задает максимальный размер данных.

42

2.Формат поля (Format) – задает формат представления данных при выводе на экран или печать.

3.Маска ввода (Input Mask) – для текстового, числового, денежного типов, типа дата/время можно задать маску ввода, которую пользователь увидит при вводе данных в это поле.

4.Условие на значение (Validation Rule) – можно задать выраже-

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

5.Сообщение об ошибке (Validation Text) – можно ввести текст,

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

6.Число десятичных знаков (Decimal Places) – для задания числа десятичных знаков числового и денежного типов (от 0 до 15).

Определение связей между таблицами

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

1.Закрыть все открытые таблицы и выбрать в меню команду

Сервис Схема данных (Tools – Relationships).

2.В появившемся диалоговом окне выбрать нужные таблицы и добавить их с помощью кнопки Добавить (Add) или двойным щелчком мыши. Нажать кнопку Закрыть (Close).

3.Для связывания двух таблиц выбрать поле в одной таблице и перенести его с помощью мыши на соответствующее поле во второй таблице (для связывания сразу нескольких полей удерживайте нажатой клавишу [Ctrl]).

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

ных» («Enforce Referential Integrity»), «Каскадное обновление связанных полей» («Cascade Update Related Fields»), «Каскадное удаление связанных полей» («Cascade Delete Related Fields») и нажать кнопку

ОК.

5.Повторить шаги 3, 4 для каждой пары связываемых таблиц.

Примечания:

в окне схемы данных отображается вид отношений между таблицами («один-к-одному» и т.п.);

43

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

если на шаге 2 вы добавили не все таблицы, то можно добавить их в окно схемы данных с помощью кнопки Добавить таблицу (Show Table) на панели инструментов.

Создание запроса на выборку

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

1.В окне базы данных перейти к вкладке Запросы (Queries) и нажать кнопку Создать (New).

2.Выбрать команду Конструктор (Design View) и нажать кнопку

OK.

3.Добавить в запрос нужные таблицы или запросы с помощью кнопки Добавить (Add) или двойным щелчком мыши. Нажать кноп-

ку Закрыть (Close).

4.Добавить поля в запрос, перемещая их имена с помощью мыши из списка полей в бланк запроса (рис. 11).

5.Ввести условия отбора, задать порядок сортировки, создать вычисляемые поля.

6.Нажать кнопку Сохранить (Save) на панели инструментов чтобы сохранить запрос, ввести имя запроса и нажать кнопку OK.

7.Нажать кнопку Запуск (Run) на панели инструментов, чтобы выполнить запрос.

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

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

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

44

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

Список полей

Бланк запроса

 

Рис. 11. Окно конструктора запроса

Бланк запроса имеет несколько строк (табл. 3).

 

Таблица 3

 

 

 

Строка

Назначение

Поле:

Для выбора полей, которые должны присутствовать в за-

 

(Field)

просе

 

Имя таблицы:

Отображает имя таблицы, из которой выбрано поле

 

(Table)

 

 

Сортировка:

Можно установить порядок сортировки записей для одно-

 

(Sort)

го или нескольких полей

 

Вывод на экран:

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

 

(Show)

ведены на экран при выполнении запроса

 

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

Для ввода условия отбора записей

 

(Criteria)

 

 

Или:

Используется для создания сложных условий, состоящих

 

(Or)

из нескольких условий, соединенных союзом «или»

 

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

45

В условиях отбора используют знаки сравнения: >, <, =, <>, >=, <=. Если в выражение не был включен оператор, то подразумевается, что был использован оператор «=».

Пример

Вывести на экран сведения о студентах, родившихся позднее 21.09.83, отсортировав записи по полю Фамилия. Окно конструктора запроса должно выглядеть в соответствии с рисунком (см. рис. 11).

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

Пример

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

Поле:

Фамилия

Номер группы

Дисциплина

Оценка

Вывод на экран:

 

 

 

 

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

 

 

Физика

Отлично

Если выражения находятся в разных строках бланка запроса (т.е. используется строка «Или:»), то автоматически используется оператор Or. Это означает, что выведены будут записи, отвечающие любому из условий отбора.

Пример

Найти студентов, которые получили по физике «отлично» или по химии «хорошо».

Поле:

Фамилия

Номер группы

Дисциплина

Оценка

Вывод на экран:

 

 

 

 

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

 

 

Физика

Отлично

Или:

 

 

Химия

Хорошо

46

Операторы сравнения

В условии отбора можно использовать операторы сравнения. Рассмотрим основные из них.

1.Not (не) – отрицание.

2.And (и) – условия должны выполняться одновременно.

3.Or (или) – хотя бы одно из условий должно выполняться.

4.Between (между) – позволяет задать диапазон значений.

Пример

Найти студентов, получивших по физике «отлично» или «хорошо».

Поле:

Фамилия

Дисциплина

Оценка

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

 

Физика

Отлично Or Хорошо

Пример

Найти студентов с фамилией Иванов, получивших оценку «хорошо» по любой дисциплине, кроме физики.

Поле:

Фамилия

Дисциплина

Оценка

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

Иванов

Not Физика

Хорошо

Пример

Найти студентов с фамилией Иванов, родившихся в период с 1 июня по 31 августа 1990 года, и студентов с фамилией Сидоров, родившихся в период с 1 января 1991 года по 1 января 1993 года.

Поле:

Фамилия

№ зачетки

Дата рождения

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

Иванов

 

Between 01.06.90 and 31.08.90

Или:

Сидоров

 

>=01.01.91 and <=01.01.93

Запросы с параметром

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

Для создания запроса с параметром необходимо:

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

47

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

Пример

Найти студентов с заданной фамилией, родившихся ранее заданной даты.

Поле:

Фамилия

Дата рождения

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

[Введите фамилию]

<[Введите дату]

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

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

1. Установить курсор в нужное место (при создании вычисляемого поля установить курсор в строке «Поле» в пустом столбце бланка запроса).

2.Запустить построитель выражений, нажав кнопку Построить (Build) на панели инструментов.

3.В левом нижнем поле окна построителя выражений (рис. 12) выбрать папку, содержащую нужный элемент (таблицы, запросы, встроенные функции и т.д.).

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

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

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

инажать кнопку OK.

48

Рис. 12. Окно построителя выражений

Пример

Создать запрос, начисляющий доплату 50 % от оклада всем сотрудникам, родившимся ранее 1 января 1952 года или имеющих оклад менее 400 рублей.

После создания выражения следует изменить имя вычисляемого поля «Выражение1» на «Доплата».

Поле:

Дата рождения

Оклад

Доплата:[Сотрудники]![Оклад]*0,5

Условие

<01.01.52

 

 

отбора:

 

 

 

Или:

 

<400

 

 

Встроенные функции Microsoft Access

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

1.Функции даты и времени:

Date() – возвращает текущую системную дату;

Day(дата) – возвращает день указанной даты;

Month(дата) – возвращает номер месяца указанной даты;

Year(дата) – возвращает год указанной даты.

2.Текстовые функции:

InStr(начало; строка1; строка2; код) – возвращает номер первой позиции, начиная с которой одна строка (строка2) содержится в другой строке (строка1). Аргумент «начало» указывает, начиная с какой позиции начать поиск, аргумент «код» указывает метод сравнения (0 – учитывая регистр, 1 –

49

не учитывая регистр). Если строка не найдена, то значение функции равно нулю;

Left(строка; число) – возвращает заданное число символов строки слева;

Right(строка; число) – возвращает заданное число символов строки справа;

Len(строка) – возвращает длину строки.

3.Функции управления и проверки:

IIf(условие; выражение1; выражение2) – возвращает зна-

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

4.Статистические функции:

Avg(выражение) – вычисляет среднее арифметическое;

Count(выражение) – вычисляет количество записей;

Sum(выражение) – вычисляет сумму значений;

Max(выражение) – вычисляет максимальное значение;

Min(выражение) – вычисляет минимальное значение.

Пример

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

день рождения студента, а затем проверить этот день.

Фрагмент бланка запроса может выглядеть следующим образом:

Поле:

№ зачетки

Выражение1: Day([Студенты]![Дата рождения])

Вывод на

 

 

экран:

 

 

Условие

 

<=15

отбора:

 

 

Пример

Найти студентов, достигших определенного возраста.

Поле: Выражение1: Year(Date())-Year([Студенты]![Дата рождения])

Вывод на экран:

Условие >=[Введите возраст] отбора:

Пример

Найти студентов, фамилии которых начинаются на букву «С».

50

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]