На рис. 2 первинні ключі таблиць виділені жирним шрифтом. На всі зв'язки накладені умови забезпечення цілісності даних (такий режим підтримується СУБД Microsoft Access).
В
Рис. 2. Схема даних
Головна кнопкова форма
В
Рис. 3. Головна кнопкова форма
Робота з додатком починається з відкриття головної кнопкової форми. На даній формі є кнопки для відкриття відповідних форм, а також кнопка виходу з додатки.
Форма: Основна інформація про співробітниках
В
Рис. 4. Основна інформація про співробітників
Основною операцією при роботі з базою даних є операція перегляду/редагування даних про співробітника. Ця операція виконується за допомогою розробленої форми, показаної на рис. 3.
Набір вкладок В«Персонал - Звільнені В»дозволяє переглядати і при необхідності коректувати дані про працюють або звільнених. Багато поля форми мають фіксовані списки значень, маски вводу що значно спрощує роботу. Значення поля В«вікВ» обчислюється в однойменному запиті.
У лівій частині форми знаходиться блок кнопок, що дозволяють переглядати, або редагувати приватну інформацію про співробітниках. Тут же кнопки прийняття/звільнення співробітників. h3> Форма: Пошук співробітників
В
Рис. 5. Пошук співробітників
На малюнках 5, 6, 7, 8 зображені форми пошуку. Пошук може бути здійснений за прізвищем, за посадою і за окладом. Натискання кнопки виводить інформацію у вигляді списку, що випадає. При натисканні кнопки відміна всі форми пошуку закриваються. Це реалізовано за допомогою макросу В«Закриття пошукуВ». <В
Рис. 6. Пошук за прізвищем
В
Рис. 7. Пошук за посадою
В
Рис.8. Пошук по окладу
Форма: Друк / редагування наказів
В
Рис. 9. Друк наказів
Накази, що виводяться на друк, виконані у вигляді форм. Тим самим досягається велика універсальність: там, де це необхідно, поля представлені у вигляді полів з списком, що випадає. h3> Запит Вік
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 ([Трудова книжка]. [Дата звільнення]) I...