Порядок выполнения задания 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) Сформируйте итоговый запрос для определения общего количества сотрудников по каждому отделу фирмы. В качестве источника данных используйте две таблицы базы данных: Сотрудники и Структура.