Создание таблиц и запросов, импорт данных
1. Создать на диске рабочую папку, например, D:\Petrov.
2. Подготовить книгу «Организация_защита_снята» для экспорта данных в MS Access:
· Открыть книгу «Организация_защита_снята» в приложении MS Excel, проверить, что пароль на открытие файла не задан, снята защита с листа «Справочники» (можно изменять данные на листе).
· На листе «Справочники» выделить диапазон ячеек A2:C5, содержащий данные о подразделениях. На вкладке Формулы щелкнуть команду Присвоить имя . В окне Создание имени ввести имя Подразделения и щелкнуть на кнопке OK(рис.14).
Рис.14. Присвоение имени диапазону ячеек
· В строке адреса рядом со строкой формул при выделении диапазона ячеек A2:C5 должно отображаться «Подразделения».
· На листе «Справочники» выделить диапазон ячеек A8:D21, содержащий данные о сотрудниках и присвоить ему имя Сотрудники.
ПРИМЕЧАНИЕ: В случае неправильного задания имен, следует воспользоваться кнопкой Диспетчер имен для их удаления.
· Сохранить изменения в книге «Организация_защита_снята» и закрыть книгу.
3. Открыть приложение MS Access 2010, в стартовом окне приложения (Файл/Создать) щелкнуть на значке Новая база данных . В нижнем правом углу стартового окна задать имя файла базы данных Организация.accdb, щелкнуть на значке папки и выбрать свою рабочую папку, затем нажать OK. Затем нажать кнопку Создать. Новая база будет создана и открыта в режиме создания/просмотра таблиц.
4. Выполнить импорт данных о подразделениях из файла MS Excel «Организация_защита_снята»:
· Выполнить команду Внешние данные/Excel. Будет запущен мастер импорта внешних данных из электронной таблицы Excel.
· В первом окне мастера импорта щелкнуть на кнопке Обзор, выбрать свою рабочую папку и файл «Организация_защита_снята», щелкнуть Открыть, затем установить переключатель в положение Импортировать данные источника в новую таблицу в текущей базе данных и нажать ОК.
· Во втором окне мастера установить переключатель в позицию именованные диапазоны и выбрать диапазон Подразделения (рис.15), затем нажать Далее.
Рис.15. Выбор диапазона для импорта данных
· В следующем окне мастера должен быть установлен флажок Первая строка содержит заголовки столбцов (оставить без изменения), нажать Далее.
· В следующем окне мастера проиндексировать создаваемую таблицу по первому полю «Код», для этого установить следующие значения:
имя поля: Код
индекс: Да (Совпадения не допускаются)
тип данных: Длинное целое
· Нажать Далее для перехода к следующему окну, в котором будет предложено задать ключевое поле новой таблицы: установить переключатель в позицию определить ключ и выбрать в качестве ключевого поле «Код». Затем нажать Далее.
· В последнем окне мастера оставить без изменения название новой таблицы «Подразделения» и нажать Готово. Не сохраняя шаги импорта нажать Закрыть.
· Таблица Подразделение появится в списке таблиц. Дважды щелкнуть на ее имени, чтобы просмотреть данные и убедиться в правильности импорта.
5. Аналогичным образом импортировать данные из диапазона Сотрудники книги «Организация_защита_снята», в процессе импорта создать автоматический ключ.
6. Связать таблицы по значениям кода подразделения:
· На вкладке Работа с базами данных выбрать команду Схема данных . Добавить на схему обе таблицы (Подразделения и Сотрудники) с помощью кнопки Добавить окна Добавление таблицы, затем закрыть это окно.
· На вкладке Схема данных выделить мышью поле Код таблицы Подразделения (рис.16), а затем, не отпуская кнопки мыши, перетащить его на поле Подразделение таблицы Сотрудники и отпустить кнопку мыши.
Рис.16. Разработка схемы данных
· Появится окно Изменение связей с именами полей Код и Подразделение. Щелкнуть на кнопке Объединение и выбрать параметры объединения: Объединение ВСЕХ записей из «Подразделения» и только тех записей из «Сотрудники», в которых связанные поля совпадают, затем нажать ОК и Создать. Будет создана связь между таблицами, показанная на рис.17.
Рис.17. Связывание таблиц
7. Рассчитать оклады сотрудников в зависимости от их разряда:
· В режиме таблицы перейти на вкладку таблицы Сотрудники. На вкладке Режим таблицы выбрать команду Новое поле и выбрать в правой части окна шаблон полей Денежный, дважды щелкнув на нем мышью.
· Переименовать добавленный столбец в Начислено, щелкнув на его заголовке правой кнопкой мыши и выбрав команду Переименовать поле.
· Создать запрос для расчета вычислений. На вкладке Созданиевыбрать команду Мастер запросов , в окне Новый запрос выбрать Простой запрос и нажать ОК.
· В следующем окне Создание простых запросов выбрать из выпадающего списка Таблица: Сотрудники, а затем с помощью кнопки > перенести из области Доступные поля в область Выбранные поля ФИО (Фамилия), Дата поступления и Разряд (рис.18), затем нажать Далее.
Рис.18. Создание простого запроса
· В следующем окне мастера создания запросов установить переключатель в позицию подробный, нажать Далее. Указать имя запроса Расчет и нажать Готово.
· Просмотреть данные запроса Расчет.
· Перейти к редактированию запроса, выбрав режим Конструктора на вкладке Главная.
· В режиме конструктора запроса установить курсор мыши в строке Поле на первое пустое поле (сразу после поля [Разряд]), а затем выполнить команду Построитель на вкладке Конструктор.
· В окне построителя выражений ввести формулу для расчета оклада (рис.19), при этом поле [Разряд] выбирается двойным щелчком мыши из списка полей запроса Расчет. Когда формула будет готова, нажать ОК.
Рис.19. Расчет оклада в построителе выражений
· После выхода из построителя выражений щелкнуть мышью на любом другом поле запроса расчет. Перед сформированной формулой появится надпись Выражение1: – заменить слово Выражение1 на слово Оклад (двоеточие не удалять).
· Посмотреть результаты выполнения запроса Расчет с помощью команды Выполнить на вкладке Конструктор(рис.20).
Рис.20. Пример вывода результатов расчета окладов сотрудников
8. Рассчитать стаж сотрудников:
· Вернуться в режим конструктора запроса Расчет. В новом поле построить выражение:
( Date() – [Дата поступления])/365
используя встроенную функцию Date (группа Функции/ Встроенные функции/Дата-время) и список полей запроса Расчет в Построителе выражений.
· Полученное поле переименовать как Стаж (вместо Выражение1).
· Посмотреть результаты выполнения запроса Расчет, в случае, если значения не отображаются (поле Стаж заполнено знаками решетки), расширить поле, переместив правую границу его заголовка мышью.
9. Рассчитать премию, начисляемую сотрудникам в зависимости от стажа (если стаж превышает 7 лет, то премия составит половину от размера оклада):
· Вернуться в режим конструктора запроса Расчет. В новом поле построить выражение:
IIf ( [Стаж] >7 ; 0,5* [Оклад] ; 0)
используя встроенную функцию Iif (группа Функции/Встроенные функции/Управление) и список полей запроса Расчет в Построителе выражений.
ПРИМЕЧАНИЕ: Если в Построителе выражений список полей не содержит вновь рассчитанные поля, следует обновить запрос, сохранив его (например, щелкнуть правой кнопкой мыши на имени запроса в заголовке вкладки запроса и выбрать команду Сохранить).
· Полученному полю дать название Премия (вместо Выражение1).
· Посмотреть результаты выполнения запроса Расчет.
10. В новом поле Начислено рассчитать значение общих начислений сотрудникам как сумму оклада и премии, используя список полей запроса Расчет в Построителе выражений. Результаты выполнения запроса Расчет приведены на рис.21. Сохранить запрос Расчет.
Рис.21. Результаты расчета начислений сотрудникам
11. Создать запрос на обновление значения поля Начислено в таблице Сотрудники:
· Выбрать команду Конструктор запросов на вкладке Создание. Вновь созданный запрос Запрос1 будет открыт в режиме конструктора. В окне Добавление таблицы добавить таблицу Сотрудники и запрос Расчет, затем закрыть это окно.
ПРИМЕЧАНИЕ: если окно Добавление таблицы не открыто, можно открыть его командой Отобразить таблицу на вкладке Конструктор.
· Дважды щелкнуть по полю Начислено таблицы Сотрудники – поле Начислено добавится в качестве поля запроса Запрос1.
· Связать таблицу Сотрудники и запрос Расчет, находящиеся в области данных запроса Запрос1 по полю ФИО (Фамилия) (рис.22).
Рис.22. Связь данных запроса
· Преобразовать Запрос1 в запрос на обновление, щелкнув на кнопке Обновление в группе Тип запроса вкладки Конструктор. В списке полей запроса появится новая строка Обновление.
· Установить курсор мыши в строку Обновление поля Начислено запроса Запрос1. Вызвать Построитель выражений. В окне построителя выражений выбрать поле Начислено запроса Расчет (выбрать из раскрывающего списка объектов базы данных). Выражение примет вид: [Расчет]![Начислено], нажать ОК.
· Сохранить запрос, при сохранении задать имя запроса Обновление.
· Закрыть и вновь открыть базу данных (приложение MS Access).
· Просмотреть данные таблицы Сотрудники и удостовериться, что поле Начислено является пустым.
· Попытаться выполнить запрос Обновление. Запрос не будет выполняться.
· Включить выполнение активного содержимого, нажав кнопку Включить содержимое в строке предупреждения в вверху рабочей области окна базы данных (рис.23).
Рис.23. Строка предупреждения о блокировке активного содержимого
· Выполнить запрос Обновление – будет выдано предупреждение об обновлении 13 записей, в окне предупреждения нажать Да.
· Просмотреть данные таблицы Сотрудники и удостовериться, что поле Начислено заполнено.
12. Создать итоговый запрос, содержащий статистические данные о подразделениях организации:
· Вызвать мастер создания простых запросов, в качестве данных запроса выбрать все поля таблицы Подразделения и поле Начислено таблицы Сотрудники.
· Выбрать тип запроса: итоговый, нажать кнопку Итоги. В окне Итоги установить флажок для функции Sum поля Начислено, установить флажок Подсчет числа записей в Сотрудники, нажать ОК.
· Задать имя нового запроса Статистика и нажать Готово.
· Посмотреть результат выполнения запроса Статистика.
· В режиме Конструктора переименовать поля Sum – Начислено и Count – Сотрудники в Суммарные начисления и Число сотрудников соответственно (рис.24). Сохранить запрос.
· Закрыть приложение MS Access.
Рис.24. Подсчет итогов
Задание 2. Установить доверие к базе данных, зашифровать базу данных с паролем.