Создание таблиц и запросов, импорт данных

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. Установить доверие к базе данных, зашифровать базу данных с паролем.