Поле
|
Тип
|
Размер
|
Табельный номер
|
Числовой
|
Длинное
целое
|
Вид отпуска
|
Текстовый
|
15
|
Приказ на отпуск
|
Числовой
|
Длинное
целое
|
За время с
|
Дата/время
|
Краткий
формат даты
|
За время по
|
Дата/время
|
Краткий
формат даты
|
Дата начала
|
Дата/время
|
Краткий
формат даты
|
Дата окончания
|
Дата/время
|
Краткий
формат даты
|
Код
|
Счетчик
|
Длинное
целое
|
На рис. 2 первичные ключи таблиц выделены жирным
шрифтом. На все связи наложены условия обеспечения целостности данных (такой
режим поддерживается СУБД Microsoft Access).
Рис. 2. Схема данных
Рис.
3. Главная кнопочная форма
Рис.
4. Основная информация о сотрудниках
Основной операцией при работе с базой
данных является операция просмотра / редактирования данных о сотруднике. Эта
операция выполняется с помощью разработанной формы, показанной на рис. 3.
Набор вкладок «Сотрудники -
Уволенные» позволяет просматривать и при необходимости корректировать данные о
работающих или уволенных. Многие поля формы имеют фиксированные списки
значений, маски ввода что значительно упрощает работу. Значение поля «возраст»
вычисляется в одноименном запросе.
В левой части формы находится блок
кнопок, позволяющих просматривать, либо редактировать частную информацию о
сотрудниках. Здесь же кнопки принятия / увольнения сотрудников.
Форма: Поиск сотрудников
Рис. 5. Поиск сотрудников
На рисунках 5, 6, 7, 8 изображены
формы поиска. Поиск может быть осуществлен по фамилии, по должности и по окладу.
Нажатие кнопки выводит информацию в виде выпадающего списка. При нажатии кнопки
отмена все формы поиска закрываются. Это реализовано с помощью макроса
«Закрытие поиска».
Рис. 6. Поиск по фамилии
Рис. 7. Поиск по должности
Рис.8. Поиск по окладу
Форма: Печать /редактирование
приказов
Рис. 9. Печать приказов
Приказы, выводимые на печать,
выполнены в виде форм. Тем самым достигается большая универсальность: там, где
это необходимо, поля представлены в виде полей с выпадающим списком.
Запрос Возраст
SELECT
DateDiff("yyyy",Сотрудники.[Дата рождения],Now()) AS Возраст,
Сотрудники.[Табельный номер]
FROM Сотрудники;
Запрос Общий стаж
SELECT
Sum(DateDiff("m",[Трудовая книжка].[Дата постановки],[Трудовая
книжка].[Дата увольнения])) AS Все, Int(Все/12) AS Годы , Все-Годы*12 AS Месяцы
, [Трудовая книжка].[Табельный номер]
FROM [Трудовая книжка]
GROUP BY [Трудовая книжка].[Табельный
номер]
HAVING (((Last([Трудовая
книжка].[Дата увольнения])) Is Not Null))
UNION
SELECT
DateDiff("m",Last([Трудовая книжка].[Дата постановки]),Now()) AS Все,
Int(Все/12) AS Годы , Все-Годы*12 AS Месяцы , [Трудовая книжка].[Табельный
номер]
FROM [Трудовая книжка]
GROUP BY [Трудовая книжка].[Табельный
номер]
HAVING (((First([Трудовая
книжка].[Дата увольнения])) Is Null))
UNION SELECT
Sum(DateDiff("m",[Трудовая книжка].[Дата постановки],[Трудовая
книжка].[Дата увольнения]))+DateDiff("m",Last([Трудовая книжка].[Дата
постановки]),Now()) AS Все, Int(Все/12) AS Годы , Все-Годы*12 AS Месяцы ,
[Трудовая книжка].[Табельный номер]
FROM [Трудовая книжка]
GROUP BY [Трудовая книжка].[Табельный
номер]
HAVING (Last([Трудовая книжка].[Дата
увольнения]) Is Null And (First([Трудовая книжка].[Дата увольнения]) Is Not
Null));
SELECT
Sum(DateDiff("m",[Трудовая книжка].[Дата постановки],[Трудовая
книжка].[Дата увольнения])) AS Все, Int(Все/12) AS Годы , Все-Годы*12 AS Месяцы
, [Трудовая книжка].[Табельный номер]
FROM [Трудовая книжка]
WHERE [Трудовая книжка].[Название
учреждения]="ЗАО Строительная компания"
GROUP BY [Трудовая книжка].[Табельный
номер]
HAVING (((Last([Трудовая
книжка].[Дата увольнения])) Is Not Null))
UNION
SELECT
DateDiff("m",Last([Трудовая книжка].[Дата постановки]),Now()) AS Все,
Int(Все/12) AS Годы , Все-Годы*12 AS Месяцы , [Трудовая книжка].[Табельный
номер]
FROM [Трудовая книжка]
WHERE [Трудовая книжка].[Название
учреждения]="ЗАО Строительная компания"
GROUP BY [Трудовая книжка].[Табельный
номер]
HAVING (((First([Трудовая
книжка].[Дата увольнения])) Is Null))
UNION SELECT
Sum(DateDiff("m",[Трудовая книжка].[Дата постановки],[Трудовая
книжка].[Дата увольнения]))+DateDiff("m",Last([Трудовая книжка].[Дата
постановки]),Now()) AS Все, Int(Все/12) AS Годы , Все-Годы*12 AS Месяцы ,
[Трудовая книжка].[Табельный номер]
FROM [Трудовая книжка]
WHERE [Трудовая книжка].[Название
учреждения]="ЗАО Строительная компания"
GROUP BY [Трудовая книжка].[Табельный
номер]
HAVING (Last([Трудовая книжка].[Дата
увольнения]) Is Null And (First([Трудовая книжка].[Дата увольнения]) Is Not
Null));
Запрос ФИО
SELECT Сотрудники.Фамилия & "
" & Сотрудники.Имя & " " & Сотрудники.Отчество AS
ФИО
FROM Сотрудники INNER JOIN [Трудовая
книжка] ON Сотрудники.[Табельный номер]=[Трудовая книжка].[Табельный номер]
WHERE (([Трудовая
книжка]!Должность="Генеральный директор"));
Заключение
В ходе выполнения курсовой работы
средствами СУБД Microsoft Access была разработана информационная система «Кадры»,
предназначенная для автоматизации работы сотрудников отдела кадров.
Концептуальная модель данных
представлена диаграммой «сущность-связь». На ее основании разработана
логическая структура базы данных, в ходе реализации которой задействованы
механизмы обеспечения целостности данных.
Система для автоматизации работы
кадровой службы предприятия имеет дружественный интерфейс пользователя и
позволяет решать все задачи, сформулированные в постановке задачи на курсовую
работу. Набор учетных параметров по сотрудникам, учет приема/увольнения.
Большой выбор документов для внутренней отчетности и в помощь другим службам.
Учтен реальный опыт традиционной
процедуры работы кадровой службы. Также в помощь пользователю предоставлены
законодательные акты, которые могут пригодиться для обоснования решений в
спорных вопросах
1.
Хансен Г.,
Хансен Дж. Базы данных: разработка и управление. — М.: БИНОМ, 1999. —
704 с.
2.
Дейт К. Дж.
Введение в системы баз данных. — К.; М.; СПб.: Издательский дом «Вильямс»,
1999. — 848 с.
3.
Карпов Б. Microsoft Access 2000: справочник. — СПб:
Питер, 2000. — 416 с.
4.
Праг К. Н., Ирвин М. Р.
Access 2000. Библия
пользователя. — М.: Вильямс, 2000. — 1040 с.
5.
Евдокимов
В.В. и др. Экономическая информатика: Учебник для вузов / Под ред. проф. В.В.
Евдокимова. — СПб.: Питер, 1997. — 592 с.
6.
Хомоненко А. Д.,
Цыганков В. М., Мальцев М. Г. Базы данных: Учебник для
высших учебных заведений / Под ред. проф. А. Д. Хомоненко. —
СПб: Корона принт, 2000. — 416 с.