- •Федеральное агентство по образованию
- •Введение
- •Работа вMicrosoftAccess
- •1. ЗапускMsAccess
- •2. АрхитектураMsAccess
- •3. Создание новой (пустой) базы данных
- •4.1. Создание таблиц
- •4.2. Типы данных
- •4.3. Свойства полей
- •Подпись поля– можно определить более описательно имя поля, которое будет выводиться в элементах управления - Подпись форм и в Заголовках отчетов.
- •Сообщение об ошибке. Можно задать текст, которыйAccessбудет выводить на экран, когда вводимые значения не удовлетворяют условию. Данные свойства полезно связывать со свойством Условие на значение.
- •Для редактирования или удаления связей необходимо выполнить командуСхема данныхменюСервиси щёлкнуть правой кнопкой мыши по линии связи между таблицами. Затем нужно выбрать соответствующий пункт меню.
- •5. Работа с запросами
- •5.1. Запрос-выборка
- •5.2. Использование Построителя выражений
- •5.3. Функции для даты и времени
- •5.4. Вычисляемые поля
- •5.5. Использование параметров в запросах
- •5.6. Запросы-действия
- •5.7. Итоговые запросы
- •5.8. Перекрестные запросы
- •6. Работа с формой
- •7. Работа с отчетами
- •Примеры работы с базой данныхЗаказы-Поставщики
- •Задания для самостоятельной работы с базой данных Заказы-Поставщики
- •Лабораторные работы лабораторная работа № 1
- •Лабораторная работа № 2
- •Лабораторная работа № 3
- •Лабораторная работа № 4
- •Лабораторная работа № 5
- •Лабораторная работа № 6
- •Лабораторная работа № 7
- •Лабораторная работа № 8
- •Лабораторная работа № 9
5.5. Использование параметров в запросах
На этапе создания запроса не всегда можно определить, какие именно значения должен искать Access. В этом случае можно использовать запрос с параметрами, и при каждом значении параметраAccessбудет запрашивать конкретные условия отбора.
Чтобы определить параметр нужно в строку Условия отбораввести вместо конкретного значения какую-то фразу, заключенную в квадратные скобки. Эта фраза и будет являться параметром.
Например,[Введите ФАМИЛИЮ студента].
Параметр можно задавать сразу по нескольким полям.
5.6. Запросы-действия
Чтобы найти единственную запись в БД и вставить, обновить или удалить одну строку данных таблицы достаточно использовать режим таблицы или запрос в режиме таблицы. Выполнение изменений в каждой записи отдельно для группы записей может оказаться занятием довольно нудным и нерациональным. Поэтому для быстрого изменения, вставки, создания или удаления набора данных из БД используют запросы-действия: запрос насоздание таблицы, запрос наобновление, запрос надобавлениезаписей и запрос наудаление.
Запрос на создание таблицыследует применять, например, для архивирования старых блоков данных или сохранения резервных копий таблиц.
С помощью запроса на обновлениеможно изменить группу записей в базовой таблице.
С помощью запроса надобавление записейданные одной таблицы можно поместить в другую таблицу. Можно также использовать этот запрос для перенесения в БД данных из другого источника.
С помощью запроса наудалениеможно быстро удалить из таблицы группу записей, отобранных по определенным критериям.
Перед тем, как приступить к созданию запроса-действия, необходимо сначала создать запрос-выборку, используя условия отбора, позволяющие выбрать нужные записи. После того, какAccessвыведет эти записи на экран, необходимо убедиться, что выбраны именно те записи.
Затем запрос на выборку в режиме Конструкторапреобразуется в запрос нужного типа (создание таблицы, обновление, добавление, удаление) с помощью кн.Тип запросав панели инструментов или менюЗапрос. В запросе-обновлении в строкуОбновлениевводится нужное выражение.
Для выполнения данного запроса необходимо щелкнуть кн. Запуск в панели инструментов или выполнить командуЗапрос–Запуск.
После выполнения запроса его можно сохранять, а можно не сохранять, т.к. он свои функции уже выполнил.
Примечание! Перед выполнением запроса-действия следует обезопасить себя от каких-либо случайностей и сделать резервную копию таблицы.
5.7. Итоговые запросы
Если нужно обрабатывать не отдельные записи, а сразу группу, то используются итоговые запросы. Для вычисления итоговых значений необходимо запрос-выборку преобразовать в итоговый запрос. Для этого достаточно в режимеКонструкторавыполнить командуГрупповые операции(меню Вид или кн. на панели инструментов ). После выполнения операции в бланке запросаQBEпоявится соответствующая строкаГрупповые операции. В этой строке по умолчанию устанавливается значенииГруппировка. Если теперь выполнить запрос, то значения в полях будут сгруппированы.
Для вычисления итогов необходимо заменить установкуГруппировкана итоговуюфункциюс помощью кнопки вариантов.
Accessсодержит 9 итоговых функций:
Sum- суммирование – возвращает сумму всех значений в данном поле каждой группе. Используется только для числовых или денежных полей.
Avg– возвращает среднее арифметическое всех значений данного поля в каждой группе. Используется только для числовых или денежных полей. При вычислении функции значенияNull(пустые значения) исключаются.
Min –возвращает наименьшее значение, найденное в данном поле для внутри каждой группы. Для числовых полей возвращает наименьшее значение, для текстовых полей – наименьшее из символьных значений независимо от регистров. ЗначенияNullигнорируются.
Max– аналогично предыдущей, только выбираются максимальные значения.
Count– возвращает число записей, в которых значения данного поля отличны отNull. Чтобы подсчитать число записей в каждой группе с учетом значенийNull, следует ввести в строку поле Count со звездочкой.
StDev– стандартные отклонения – возвращает стандартные отклонения всех значений данного поля в каждой группе. Эта функция применяется только к числовым или денежным полям.
Var– условия, аналогичные предыдущему; функция возвращает дисперсию значений поля в данной группе.
First– возвращает первое значение данного поля в каждой группе.
Last -возвращает последнее значение в каждой группе.
В итоговых запросах можно также создавать вычисляемые поля, выражения которых используют итоговые функции.
Для этого нужно выполнить следующее действие: в строке Групповые операциивыбрать установкуВыражение, а в строке поле следует ввести само выражение. Например, нас интересует размах между максимальной и минимальной стипендией в группе.
Тогда мы введем такое выражение:
Выражение1:Max([Копия Студент]![Стипендия])-Min([Копия Студент]![Стипендия])
Выбор записей, формирующих группы
Чтобы исключить из групп определенные записи следует добавить в бланк запроса одно или несколько полей, которые будут использоваться в фильтре. Для создания фильтра в строке Групповые операцииследует выбрать установкуУсловиеи снять флажокВывод на экрандля этого поля. А далее ввести условие отбора в соответствующие строки.
Пример отбора записей,
исключающих группы А 45 и М 22 (четвертого и второго курса)
Пример итогового запроса,
вычисляющего общую сумму стипендии по каждой группе
Выбор групп
В итоговом запросе можно фильтровать не только отдельные записи, но и группы. Здесь в строке Групповые операциидолжна быть установкаГруппировкаи условия отбора вводятся в соответствующие строки.