В Access запросы делятся на QBE –запросы(Query By Example - запрос по образцу), параметры которых устанавливаются в окне конструктора запросов, и SQL-запросы (Structured Query Language – структурированный язык запросов), при которых применяются операторы и функции языка SQL. Access легко преобразовывает QBE –запрос в SQL-запрос, и наоборот.
В Access можно формировать запросы следующих видов:
· Однотабличные запросы:
Допустим, что требуется получить данные из таблицы Кадры, Фамилии работников и дату найма (Рис.9).
Рис. 9. Однотабличный запрос
· Многотабличные запросы:
Требуется узнать фамилии работников с окладами больше 4000 рублей (Рис.10).
Рис. 10. Многотабличный запрос
· Запросы на создание таблиц:
Пусть для нашего предприятия необходимо создать таблицу, в которой была бы указана зарплата сотрудников со всеми надбавками и премиями (Рис.11).
Рис. 11. Фрагмент бланка запроса на создание таблицы Т-Зарплата
· Запрос на добавление:
В таблицу Т-Должность добавим еще одну запись «Маляр» (Рис.12).
Рис. 12. Запрос на добавление записи в таблицу Т-Должность
· Запрос на обновление:
Допустим, что при введении данных о сотрудниках была допущена ошибка. Имя программиста Иванова не Петр, а Иван. С помощью запроса на обновление исправим данную ошибку (Рис.13).
Рис.13. Запрос на обновление
· Запрос на удаление:
Предположим, что произошло увольнение работника. Его данные были занесены в таблицу Т-АрхивУволенных. Теперь необходимо удалить запись о данном сотруднике из таблицы Т-Кадры (Рис.14).
Рис. 14. Запрос на удаление
6.2 Построитель выражений
Для формирования условий отбора, для создания выражений в вычисляемых полях удобно использовать Построитель выражений. В поле записи формируются выражения, в левой части нижней половины окна содержатся папки, открытие которых позволяет раскрыть содержание папки и вставлять объекты из следующей части в выражения. Перейти в окно построителя выражений можно, нажав кнопку Построитель на панели инструментов конструктора запросов или выбрав команду Построить в контекстно-зависимом меню. Вид окна построителя представлен на рис.15.
Рис.15. Построитель выражений
6.3 Использование групповых операций в запросах
Групповые операции позволяют выделять группы записей с одинаковыми значениями в указанных полях. Нажав на кнопку Групповые операции на панели инструментов, в бланке запроса появится дополнительная строка Групповая операция, позволяющая выполнять статистические операции со значениями конкретных полей.
Групповые операции используются в запросах на выборку. В запрос включаются поля, по которым надо произвести статистические вычисления.
Девять статистических функций, встроенных в Access:
Название Функция
Last Последнее значение в группе
First Первое значение в группе
Var Вариация значений поля
StDev Стандартное отклонение величин ноля от среднего
Count Число значений поля в группе без учета пустых значений
Мах Максимальное значение
Min Минимальное значение
Avg Среднее значение поля
Sum Сумма значений поля по всем записям
На рисунке 16 представлен запрос с группировкой, с помощью которого можно определить значение среднего оклада, суммарную величину окладов по должностям согласно штатному расписанию, среднеквадратическое отклонение от среднего значения оклада.
Рис.16. Запрос с использованием групповых операций
7. Даты и их использование в базах данных
Операции с данными, осуществляемые пользователями, регистрируется во времени. Ввод, корректировка, удаление и другие операции регистрируются во времени. Даты используются в различных вычислениях.
Операторы работы с датами:
Date() - вывод текущей даты (число, месяц и год);
Year(Date()) - вывод текущего года;
Month(Date()) -вывод текущего месяца;
Day(Date()) - вывод текущего дня.
Определение стажа
Стаж вычисляется путем определения количества лет между датой найма и текущей датой (Рис.17).
Рис. 17. Определение стажа
Начисление надбавки за стаж:
Рис.18. Определение стажа
8. Проектирование и разработка форм
Пользователь имеет возможность создать форму самостоятельно или воспользоваться мастером. Мастер форм ускоряет процесс создания формы, так как автоматически выполняет всю основную работу. При использовании мастера Microsoft Access выдает приглашение на ввод данных, на основе которых создается форма. В созданных формах мастер можно использовать для быстрого создания элементов управления в форме. Для настройки формы следует переключиться в режим конструктора.
Недостатком форм, создаваемых мастером, является то, что они однообразны и не содержат пояснительных надписей. Чтобы приукрасить форму и расположить поля более удобным образом, следует воспользоваться конструктором форм, который позволяет передвигать и масштабировать элементы формы, связывать их с источником данных и настраивать любые другие параметры формы.
Любой элемент формы имеет контекстное меню, в котором есть команда Свойства. Выбор такой команды открывает окно свойств, подобное окну свойств формы. Вкладка Макет содержит параметры форматирования объекта. Вкладка Данные — описание источника данных, различные ограничения и условия, накладываемые на данные поля. Вкладка События (Event) позволяет писать функции отклика на различные события (например, перемещение мыши на объект). Параметры, не вошедшие впервые три группы, размещаются на вкладке Другие (Other). Вкладка Все (АН) обеспечивает одновременный доступ ко всем параметрам.
Следовательно, создание формы может осуществляться двумя способами:
· Создание формы с помощью мастера;
· Создание формы в режиме конструктора.
Также формы могут быть созданы на основе
· Одной таблицы;
· Нескольких таблиц;
· Запросов для ввода данных в связные таблицы.
Рассмотрим создание однотабличных форм на основе таблицы Т-Кадры (Рис.19, Рис.20):
Рис.19. Однотабличная форма
Рис.20. Однотабличная форма с использованием панели элементов
С помощью кнопок панели элементов в форму можно добавлять различные объекты. Элементы управления форм и отчетов сходны между собой, поэтому такая же панель элементов имеется и в конструкторе отчетов, а все операции одинаково применимы как к формам, так и к отчетам.
Элементы управления форм:
· Надпись (Label) - Надписи создаются автоматически вместе с элементами типа текстовое поле, поле со списком и т. п. Они разъясняют смысл поля ввода. Дополнительные надписи могут использоваться для заголовков и пояснений.
· Поле (Text Box) - Используется для ввода и отображения информации полей таблиц и запросов, а также для вывода результатов вычислений.
· Группа переключателей (Option Group) - Группа переключателей ссылается на некоторое поле таблицы. Каждый переключатель группы соответствует определенному целочисленному значению этого поля.
· Выключатель (Toggle Button) - Позволяет вводить информацию типа да/нет. Величине «да» или «истина» соответствует утопленное положение выключателя.
· Переключатель (Option Button) - Элемент группы переключателей, в которой может быть отмечен только один из них (его кружок выглядит зачерненным).
· Флажок (Check Box) - Предназначен для представления полей типа да/нет. Отмеченный квадратик соответствует величине «да», а пустой — «нет».
· Поле со списком (Combo Box) - Разрешает как непосредственный ввод значения в поле, так и его выбор в раскрывающемся списке предопределенных значений.
· Список (List Box) - Позволяет выбирать данные из набора пунктов и не разрешает непосредственный ввод значений.
· Кнопка (Command Button) - Щелчок на такой кнопке выполняет команду, с помощью которой можно перейти в другую форму, переместиться по записям и выполнить многие другие операции.
· Рисунок - Рисунок любого графического формата с рамкой
· Линия (Line) - Добавляет прямую линию
· Прямоугольник (Rectangle) - Рисует прозрачный или непрозрачный прямоугольник с цветной границей любой толщины
· Другие элементы (More Controls) - Открывает меню с элементами управления, не вошедшими в панель элементов.
Рассмотрим форму созданную на основе многотабличного запроса. В ней отражаются фамилии сотрудников, чей оклад составляет более 4000 руб. Также с помощью данной формы возможно ввести данные в связанные таблицы Т-Кадры и Т-Должность (Рис.21).
Рис. 21. Форма на основе многотабличного запроса
Создадим форму, с помощью которой можно было бы редактировать данные в таблице Т-Кадры (Рис. 22).
Рис.22. Форма с ComboBox для редактирования данных таблицы Т-Кадры
9. Разработка отчетов