![](/user_photo/2706_HbeT2.jpg)
ПРОГРАММНЫЕ_СРЕДСТВА_ACCESS
.pdf![](/html/2706/431/html_cnmWMah198.FXmD/htmlconvd-Y04MK331x1.jpg)
выберем стиль оформления – любой, <Далее>;
зададим имя формы Сотрудники, и откроем ее в режиме просмотра и ввода данных кнопкой <Готово>;
![](/html/2706/431/html_cnmWMah198.FXmD/htmlconvd-Y04MK332x1.jpg)
заполним форму ниже приведенными данными5.
Сотрудники
|
|
|
|
|
|
|
|
Семей |
|
|
|
|
|
|
|
|
|
||
ТабН |
Фамилия |
Имя |
Отчество |
ДатаРождения |
КодПодра |
КодДол |
Оклад |
ноеПол |
|
омер |
зделения |
жности |
ожени |
||||||
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
е |
|
101 |
Иванцев |
Михаил |
Петрович |
04-мар-1956 |
2001 |
1001 |
30 000,00р. |
Да |
|
102 |
Макаров |
Сергей |
Геннадьевич |
04-дек-1976 |
2002 |
1003 |
8 000,00р. |
Да |
|
103 |
Петрова |
Анна |
Владимировна |
14-апр-1970 |
2001 |
1002 |
15 000,00р. |
Нет |
|
104 |
Соколов |
Андрей |
Михайлович |
23-фев-1962 |
2002 |
1001 |
30 000,00р. |
Да |
|
105 |
Конаков |
Олег |
Викторович |
12-сен-1969 |
2001 |
1003 |
8 000,00р. |
Нет |
|
106 |
Завьялова |
Ирина |
Анатольевна |
20-май-1978 |
2003 |
1002 |
15 000,00р. |
Да |
|
107 |
Коровина |
Светлана |
Петровна |
27-ноя-1973 |
2003 |
1004 |
10 000,00р. |
Да |
|
108 |
Сейфуллин |
Марат |
Тагирович |
14-июн-1967 |
2002 |
1003 |
8 000,00р. |
Нет |
|
109 |
Мезенцев |
Андрей |
Сергеевич |
02-янв-1979 |
2003 |
1003 |
8 000,00р. |
Да |
|
110 |
Захарова |
Кристина |
Сергеевна |
25-апр-1972 |
2003 |
1002 |
15 000,00р. |
Да |
|
111 |
Мухина |
Вера |
Николаевна |
28-фев-1978 |
2003 |
1004 |
10 000,00р. |
Да |
|
112 |
Климова |
Ольга |
Николаевна |
28-фев-1961 |
2002 |
1003 |
8 000,00р. |
Да |
|
113 |
Костина |
Мария |
Анатольевна |
10-янв-1966 |
2001 |
1003 |
8 000,00р. |
Нет |
|
114 |
Муратов |
Сергей |
Васильевич |
18-дек-1976 |
2001 |
1003 |
8 000,00р. |
Да |
|
115 |
Гришин |
Михаил |
Валерьевич |
03-ноя-1980 |
2002 |
1003 |
8 000,00р. |
Нет |
|
116 |
Морозкин |
Иван |
Петрович |
25-авг-1954 |
2002 |
1002 |
15 000,00р. |
Да |
|
117 |
Радаева |
Марина |
Викторовна |
14-апр-1967 |
2003 |
1001 |
30 000,00р. |
Нет |
|
118 |
Горяев |
Игорь |
Валентинович |
12-июн-1970 |
2002 |
1003 |
8 000,00р. |
Да |
|
119 |
Зорянов |
Александр |
Анатольевич |
27-ноя-1963 |
2001 |
1002 |
15 000,00р. |
Нет |
|
120 |
Тумпарова |
Валерия |
Дмитриевна |
21-мар-1984 |
2003 |
1004 |
10 000,00р. |
Нет |
|
|
|
|
|
|
|
|
|
|
Настройка внешнего вида элементов формы (шрифты, размеры полей, фон, цвет и т.д.)может быть выполнена в режиме Макет или Конструктор с использованием окна Свойства (список команд кнопки
на вкладке Главная).
Установленные между таблицами связи обеспечивают контроль ввода данных в поля КодПодразделения и КодДолжности в таблице
Сотрудники. Для проверки попробуем в любой записи ввести с клавиатуры значение КодаПодразделения – 3001(или любое другое). Система выдает сообщение об ошибке – попытка нарушения целостности данных в связанных записях.
После заполнения формы Сотрудники откроем таблицу Сотрудники для просмотра результатов, выбрав ее в области Все таблицы. Вид формы Сотрудники и результирующая таблица Сотрудники приведены в Приложении 3 и Приложении 2.
5 При заполнении логического поля СемейноеПоложение значение Да устанавливается щелчком на флажке. Ввод даты можно выполнять в кратком формате дд.мм.гг, система автоматически преобразует дату в средний формат. Значения полей КодПодразделения и КодДолжности выбираются из списков этих полей (т.к. это поля подстановки).
![](/html/2706/431/html_cnmWMah198.FXmD/htmlconvd-Y04MK333x1.jpg)
oПо аналогии с помощью мастера форм разработаем форму Движение кадров для заполнения соответствующей таблицы.
Заполним форму Движение кадров следующими данными:
Движение кадров
ТабНомер |
ДатаПриема |
Движение |
ДатаПеревода |
ДатаУвольнения |
|
101 |
24-апр-1997 |
|
|
|
|
102 |
23-май-1999 |
переведен |
10-апр-2009 |
|
|
103 |
23-май-2005 |
|
|
|
|
104 |
16-янв-2005 |
переведен |
15-янв-2009 |
|
|
105 |
15-янв-2009 |
|
|
|
|
106 |
26-окт-2000 |
|
|
|
|
107 |
24-май-2005 |
уволен |
|
10-окт-2008 |
|
108 |
24-май-2005 |
|
|
|
|
109 |
18-сен-2000 |
|
|
|
|
110 |
21-окт-2002 |
|
|
|
|
111 |
23-сен-2000 |
|
|
|
|
112 |
24-фев-1998 |
|
|
|
|
113 |
02-апр-1996 |
|
|
|
|
114 |
12-ноя-2000 |
переведен |
23-апр-2009 |
|
|
115 |
24-май-2000 |
|
|
|
|
116 |
23-май-1999 |
|
|
|
|
117 |
17-сен-2002 |
|
|
|
|
118 |
13-дек-1997 |
|
|
|
|
119 |
12-фев-2007 |
|
|
|
|
120 |
05-мар-2009 |
|
|
|
Установленная между таблицами Сотрудники и Движение кадров связь обеспечивает контроль ввода данных в поле ТабНомер в таблице
Движение кадров. Вид формы Движение кадров и результирующая таблица Движение кадров приведены в Приложении3 и Приложении2.
5.Используя операции поиска и замены данных, изменим значения оклада сотрудникам в должности – экономист (код должности 1003) с 8000р. на
8500р. Для этого необходимо выполнить следующие действия:
o открыть таблицу Сотрудники, выделить поле Оклад щелчком на имени поля;
o на вкладке Главная в области Найти щелкнуть на кнопке ; o в диалоге Поиск и Замена на вкладке Замена заполнить строку
Образец и строку Заменить на указанными значениями;
![](/html/2706/431/html_cnmWMah198.FXmD/htmlconvd-Y04MK334x1.jpg)
oв строке Поиск в: должно быть указано поле Оклад;
oв строке Совпадение - С любой частью поля;
oпоскольку поле Оклад представлено в денежном формате, следует активизировать режим С учетом формата полей.
oдля поиска первого совпадения щелкнуть на кнопке <Найти далее>. Курсор в таблице остановится на первой записи со значением оклада 8000, если в этой записи КодДолжности имеет значение 1003 щелкнуть на кнопке <Заменить>, в противном случае пропустить значение и продолжить поиск кнопкой <Найти далее>;
oвыполним поиск и замену по всем записям таблицы, по окончании поиска на экран выводится сообщение: «Поиск записей в приложении MS Access завершен. Образец не найден».
6.Для разработки запроса Картотека (просмотр анкетных данных сотрудников) воспользуемся мастером запросов, выполним следующее:
oна вкладке Создание в области Другие щелкнем на кнопке Мастер запросов, и выберем из списка режим Простой запрос,<ОК>;
oвыберем и перенесем в область Выбранные поля следующие поля:
ТабНомер,Фамилия, Имя, Отчество (из таб. Сотрудники),
Подразделение (из таб.
Подразделения), Должность (из таб. Должности), Оклад,
СемейноеПоложение (из таб.
Сотрудники), ДатаПриема,
Движение (из таб. Движение кадров). Поля нужно выбирать в той последовательности, в которой они должны выводится в результате выполнения запроса
(поле СемейноеПоложение
должно быть последним), <Далее>;
![](/html/2706/431/html_cnmWMah198.FXmD/htmlconvd-Y04MK335x1.jpg)
oвыберем макет запроса – Подробный (вывод каждого поля каждой записи), <Далее>;
oзададим имя запроса Картотека, кнопкой <Готово> запустим его на выполнение.
На экран выводится список сотрудников с анкетными данными (см. Приложение 4).
oОтфильтруем результаты запроса по полю
Подразделение, оставив записи,
соответствующие значению бухгалтерия. Для этого установим курсор в этом поле на значение бухгалтерия в любой записи и
щелкнем на кнопке на вкладке Главная в области Сортировка и фильтр. В запросе остаются только записи о сотрудниках бухгалтерии. Отменить фильтр можно повторным щелчком на этой же кнопке. Для фильтрации таблиц и запросов по числовому полю можно воспользоваться опциями кнопки
- Равно, Неравно, Больше или равно, Меньше или равно, Между...,
предварительно отметив курсором в поле необходимое для условия
![](/html/2706/431/html_cnmWMah198.FXmD/htmlconvd-Y04MK336x1.jpg)
фильтрации числовое значение. Результаты применения фильтров можно выводить на печать: кнопка Office/Печать.
oОтсортируем данные Картотеки в алфавитном порядке фамилий: выделим поле Фамилия и щелкнем на кнопке . Повторим сортировку по другим полям запроса.
7.Для просмотра личной карточки сотрудника создадим простой запрос на выборку с параметром (параметрический) на основе данных запроса
Картотека:
oсоздадим с помощью мастера макет запроса в режиме простой запрос, выберем в него все поля запроса Картотека, зададим имя Личная карточка, выбрав опцию Изменить макет запроса перейдем в режим конструктора для записи параметра запроса (в режим конструктора можно перейти также из режима просмотра запроса щелчком на кнопке
вкладки Главная или через контекстное меню вкладки запроса;
oв конструкторе в поле Фамилия в строку Условие отбора введем параметр [Введите фамилию сотрудника] (параметры запросов всегда заключаются в [ ]),
oсохраним запрос, закроем окно конструктора, выполним запрос из окна БД двойным щелчком на имени запроса в области Все таблицы.
o С помощью запроса просмотрим личные карточки нескольких сотрудников (см.Приложение 4).
8.Для просмотра информации о сотрудниках, не имеющих отметок об увольнении или переводе, по подразделениям создадим запрос Кадровый
состав:
oсоздадим с помощью мастера макет запроса в режиме простой запрос на основе запроса Картотека, выбрав из него следующие поля:
Фамилия, Имя, Отчество, Подразделение, Должность, Оклад,
СемейноеПоложение, Движение;
o откроем запрос в режиме конструктора;
oв поле Движение в строке Условие отбора запишем выражение is Null, для выбора тех записей, у которых это поле не заполнено;
o отключим параметр Вывод на экран;
o в поле Подразделение в строку Условие отбора введем параметр [Введите подразделение];
![](/html/2706/431/html_cnmWMah198.FXmD/htmlconvd-Y04MK337x1.jpg)
o сохраним запрос, и просмотрим результаты выполнения запроса, запустив его через Область переходов двойным щелчком (см. Приложение 4).
9.Разработаем запрос на выборку Прием 2009 для получения списка сотрудников, принятых на работу в 2009 году:
oсоздадим с помощью мастера макет запроса в режиме простой запрос, выберем в него поля Фамилия, Имя, Отчество (из таб. Сотрудники),
Подразделение (из таб. Подразделения), Должность (из таб.
Должности), ДатаПриема (из таб. Движение кадров), просмотрим
макет запроса на экране (<Готово>);
o переведем запрос в режим конструктора;
o в поле ДатаПриема в строке параметра Условие отбора откроем
построитель выражений кнопкой , либо соответствующей командой контекстного меню;
oв окне построителя выражений сформируем условие отбора записей, в левом списке папок откроем папку Операторы – Сравнения – Between (между), <Вставить>, в общей записи оператора зададим диапазон значений даты приема на работу. Вместо аргумента «Выражение» введем начальное #31.12.08# и конечное #01.01.10# значения диапазона даты, <ОК>.
Условие выборки записей можно задать непосредственно в окне конструктора запроса, не прибегая к помощи построителя выражений,
![](/html/2706/431/html_cnmWMah198.FXmD/htmlconvd-Y04MK338x1.jpg)
в поле ДатаПриема в строке параметра Условие отбора ввести шаблон даты *.*.2009, который автоматически преобразовывается в запись оператора Like.
oЗапрос можно запустить на выполнение непосредственно из режима конструктора щелчком на кнопке на ленте в области Результаты (вкладка Конструктор). Результаты запроса приведены в
Приложении 4.
10.Для создания перекрестного запроса на расчет среднего оклада по подразделениям и должностям выполним следующее:
o создадим с помощью мастера запросов предварительный простой запрос на выборку в составе трех полей: Подразделение (из таб.
Подразделения), Должность (из таб. Должности), Оклад (из таб. Сотрудники), зададим ему имя Предварительный запрос,
просмотрим его результаты и закроем вкладку запроса;
oна вкладке Создание запустим мастер запросов, выберем из списка
Перекрестный запрос, <ОК>;
oв окне мастера перекрестного запроса в области Показать установим переключатель на опцию Запросы, выберем из предлагаемого списка запросов Предварительный запрос, <Далее>;
oв окне Создание перекрестных таблиц в области Доступные поля
выберем поле Подразделение – для обозначения строк перекрестного запроса, перенесем его в область Выбранные поля, <Далее>;
![](/html/2706/431/html_cnmWMah198.FXmD/htmlconvd-Y04MK339x1.jpg)
o выделим поле Должность – для обозначения столбцов запроса, <Далее>;
o в списке статистических функций выберем функцию Среднее, <Далее>;
oпараметр Вычислить итоговое значение для каждой строки? должен быть включен;
![](/html/2706/431/html_cnmWMah198.FXmD/htmlconvd-Y04MK340x1.jpg)
o зададим имя запроса Средний оклад, <Готово>. Результаты запроса приведены в Приложении 4.
11.Разработаем итоговый запрос Статистика по зарплате для расчета статистических показателей по полю Оклад для каждого подразделения:
oна вкладке создание в области Другие инструментом откроем вкладку пустого бланка запроса в режиме конструктора с окном диалога Добавление таблицы;
oдобавим в окно конструктора схемы двух таблиц Подразделения и Сотрудники (аналогично созданию схемы данных);
oв нижней области окна конструктора в первом пустом столбце в первой строке Поле откроем список полей двух таблиц и выберем из таблицы Подразделения поле Подразделение, во втором, третьем, четвертом и пятом столбцах – поле Оклад из таблицы Сотрудники;
oна вкладке Конструктор щелкнем на кнопке , в строке параметра
Групповая операция появится значение Группировка;
oв первом поле Оклад откроем список группировки и выберем функцию Avg (среднее), во втором – Min, в третьем – Max, в четвертом – Sum;
o сохраним разработанный макет запроса с именем Статистика по зарплате;
o выполним запрос, результаты запроса приведены в Приложении 4. 12.Разработаем запрос для формирования ведомости начисления зарплаты
(расчет надбавок к окладу и удержаний) с вычисляемыми полями Стаж, Надбавка, Налог. Стаж работы сотрудника в данной организации рассчитывается на основе текущей даты и даты приема на работу. Текущая дата определяется функцией Date. В зависимости от стажа работнику начисляется надбавка к окладу в размере 10% - если стаж менее 5 лет и 20% - если стаж не менее 5лет. Налог рассчитывается в