Порядок выполнения задания 3
1. В окне СУБД MS Access выберите объект Запросы.
2. Запустите режим создания запроса с помощью конструктора. Откроется окно «Добавление таблиц».
3. В окне «Добавление таблицы» добавьте две таблицы: Сотрудники и Сведения о сотрудниках. Откроется бланк запроса. В верхней части бланка представлен список полей таблиц СотрудникииСведения о сотрудниках.
4. В первом столбце бланка запроса введите имя поля КодСотрудникаиз таблицы Сотрудники, выбрав его из списка, который раскроется при щелчке на первой строке. Имя таблицы появится во второй строке автоматически.
5. В следующем столбце создайте поле ФИО, в котором фамилия, имя и отчество сотрудника будут представлены как единая текстовая строка. Для этого правой кнопкой мыши щелкните на втором столбце строки Поле,в контекстном меню выберите командуПостроить… или воспользуйтесь соответствующей кнопкой на панели инструментов . Откроется окно «Построитель выражений»(рисунок 23).
Рисунок 23 – Окно «Построитель выражений»
6. Используя список папок и полей в левом окне обзора, создайте формулу следующего вида: ФИО: [Сотрудники]![Фамилия]&” “&[Сотрудники]![Имя]&” “&[Сотрудники]![Отчество]
7. Для этого раскройте папку Таблицы, а в ней вложенную папку Сотрудники: поля таблицы Сотрудники будут представлены в среднем окне построителя запросов.
8. Введите формулу для вычисляемого поля ФИО согласно схеме (рисунок 24).
Рисунок 24 – Схема формулы вычисляемого поля ФИО
9. Завершите ввод формулы, нажав кнопку ОК. Убедитесь, что формула появилась в бланке запроса. Так как ширина столбца не велика, то полностью формула не будет просматриваться. Просмотрите формулу, перемещая по ней курсор, либо увеличьте ширину столбца.
10. В третьем столбце строки Поле бланка запроса постройте выражение для поля Возраст, в котором производится вычисление количества полных лет сотрудника по дате рождения:
Возраст:Year(Now())-Year([Сведения о сотрудниках]![Дата Рождения])
11. Эта формула содержит встроенные функции Year(), которая вычисляет год по дате, и Now(), которая вычисляет текущую дату. Встроенные функции можно найти, открыв в построителе выражений в окне обзора папку Функции,а в нейпапку Встроенные функции,категория Дата/Время. Возраст получается как разность между годом, отсчитанным от текущей даты, и годом, отсчитанным от даты рождения. Завершите ввод формулы, нажав кнопку ОК. Убедитесь, что формула появилась в бланке запроса.
12. В четвертом столбце строки Поле бланка запроса создайте поле Адрес, в котором название улицы, номер дома и квартиры будут представлены как единая текстовая строка. Используя список папок и полей в окне «Построитель выражений», создайте формулу следующего вида: Адрес:[Сведения о сотрудниках]![Улица]&”, “&[Сведения о сотрудниках]![Дом]&” - “&[Сведения о сотрудниках]![Квартира]
13. Завершите ввод формулы, нажав кнопку ОК. Убедитесь, что формула появилась в бланке запроса.
14. После завершения конструирования запроса сохраните его под именем Вычисляемые поля. Просмотрите результат выполнения запроса в режиме таблицы (рисунок 25).
Рисунок 25 – Результат выполнения запроса
«Вычисляемые поля»
Задание 4
Иногда в запросе необходимо найти не отдельные записи таблицы, а итоговые значения по группам данных.
1) Сформируйте итоговый запрос для определения общего количества сотрудников фирмы, а также возраста самого молодого и самого старшего сотрудника фирмы. В качестве источника данных используйте запрос Вычисляемые поля.
2) Сформируйте итоговый запрос для определения общего количества сотрудников по каждому отделу фирмы. В качестве источника данных используйте две таблицы базы данных: Сотрудники и Структура.