Разработка системы управления работой компании
Курсовая работа, 07 Мая 2011, автор: пользователь скрыл имя
Описание
В базе данных сведения из каждого источника сохраняются в отдельной таблице. При работе с данными из нескольких таблиц устанавливаются связи между таблицами. Для поиска и отбора данных, удовлетворяющих определенным условиям, создается запрос. Запросы позволяют также обновить или удалить одновременно несколько записей, выполнить встроенные или специальные вычисления. Для просмотра, ввода или изменения данных прямо в таблице применяются формы.
Содержание
Введение 3
Постановка задачи 4
Перечень решаемых задач 5
Проектирование баз данных 6
Общие сведения о таблицах 8
Запросы и их применение 14
Общие сведения о формах 21
Общие сведения об отчетах 28
Разработка программных расширений для БД: макросы и модули 30
Разработка системы защиты данных, прав и ограничений по доступу 34
Заключение 35
Список использованной литературы 36
Работа состоит из 1 файл
КУРСАЧ.doc
— 801.00 Кб (Скачать документ)19) Сотрудники_анализ
SELECT Сотрудники.Ф, Заказы!Кол*Заказы!Цена AS Сумма, Format([Дата],"mmmm\/yyyy") AS Месяц, Заказы.Цена, [Сумма]*Сотрудники!ПроцЗп/100 AS ЗП, Сотрудники.ПроцЗп, Заказы.Кол, Отделы.Наименование
FROM (Отделы INNER JOIN Сотрудники ON Отделы.КдОтд = Сотрудники.КдОтд) INNER JOIN Заказы ON Сотрудники.КдСтр = Заказы.КдСтр;
20) уволенные сотрудники
SELECT Сотрудники.КдСтр, Сотрудники.Ф, Сотрудники.И, Сотрудники.О, Приказы.Дата
FROM Сотрудники INNER JOIN (Приказы INNER JOIN СП ON Приказы.КдДок = СП.КдДок) ON Сотрудники.КдСтр = СП.КодСтр
WHERE (((Приказы.Наименование) Like "Об увол*"));
21) Товарная_накладная
SELECT Товар.Наименование,
Заказы.Кол, Заказы.Цена, Заказы.Скидка,
Заказы!Цена*(1-Заказы!Скидка/100) AS Цена_со_скидкой,
Заказы.Дата, Накладные.Номер, Договор.НмДоговора,
Накладные.Дата, Заказчик.Заказчик, Заказчик.УНН,
Заказчик.Рас_счет, Заказчик.ОКЮЛП, Заказчик.Город,
Заказчик.Улица, Заказчик.Дом, Банки.Наименование,
Банки.Филиал, Банки.Город, Банки_1.Наименование,
Банки_1.Филиал, Банки_1.Город, Фирма.Наименование,
Фирма.УНН, Фирма.Рас_счет, Фирма.ОКЮЛП,
Фирма.Город, Фирма.Улица, Фирма.Дом
FROM Фирма LEFT JOIN Банки AS Банки_1 ON Фирма.КдБанка = Банки_1.КдБанка, Товар INNER JOIN (Приход INNER JOIN (Накладные INNER JOIN ((Банки INNER JOIN Заказчик ON Банки.КдБанка = Заказчик.КдБанка) INNER JOIN (Договор INNER JOIN Заказы ON Договор.КдДоговора = Заказы.КдДоговора) ON Заказчик.КдЗак = Заказы.КдЗак) ON Накладные.КдНакл = Заказы.КдНакл) ON Приход.КдПрх = Заказы.КдПрх) ON Товар.КдТов = Приход.КдТов
WHERE (((Договор.НмДоговора)=[Введите
номер договора]))
ORDER BY Заказы.Кол DESC;
22) Счет-фактура
SELECT Товар.Наименование,
Заказы.Кол, Заказы.Цена, Заказы.Скидка,Заказы!Цена*(1-
FROM Фирма LEFT JOIN Банки AS Банки_1 ON Фирма.КдБанка = Банки_1.КдБанка, Товар INNER JOIN (Приход INNER JOIN ((Банки INNER JOIN Заказчик ON Банки.КдБанка = Заказчик.КдБанка) INNER JOIN (Договор INNER JOIN Заказы ON Договор.КдДоговора = Заказы.КдДоговора) ON Заказчик.КдЗак = Заказы.КдЗак) ON Приход.КдПрх = Заказы.КдПрх) ON Товар.КдТов = Приход.КдТов
WHERE (((Договор.НмСчет_фактуры)=[
ORDER BY Заказы.Кол DESC;
23) Юбилеи_жизни
SELECT Month([Дата_рождения])
AS M, Day([Дата_рождения]) AS Д, Year([Дата_рождения])
AS Г, Year(Now())-Year([Дата_рождения]) AS Лет, Сотрудники.Ф,
Сотрудники.И, Сотрудники.О, Сотрудники.Должность
FROM Сотрудники LEFT JOIN уволенные_сотрудники ON Сотрудники.КдСтр = уволенные_сотрудники.КдСтр
WHERE (((Year(Now())-Year([Дата_рождения]))=20)
AND ((уволенные_сотрудники.Дата) Is Null)) OR
(((Year(Now())-Year([Дата_рождения]))=25) AND ((уволенные_сотрудники.Дата)
Is Null)) OR (((Year(Now())-Year([Дата_рождения]))=30) AND
((уволенные_сотрудники.Дата) Is Null)) OR (((Year(Now())-Year([Дата_рождения]))=35)
AND ((уволенные_сотрудники.Дата) Is Null)) OR
(((Year(Now())-Year([Дата_рождения]))=40) AND ((уволенные_сотрудники.Дата)
Is Null)) OR (((Year(Now())-Year([Дата_рождения]))=45) AND
((уволенные_сотрудники.Дата) Is Null)) OR (((Year(Now())-Year([Дата_рождения]))=50)
AND ((уволенные_сотрудники.Дата) Is Null)) OR
(((Year(Now())-Year([Дата_рождения]))=55) AND ((уволенные_сотрудники.Дата)
Is Null)) OR (((Year(Now())-Year([Дата_рождения]))=60) AND
((уволенные_сотрудники.Дата) Is Null))
ORDER BY Month([Дата_рождения]), Day([Дата_рождения]), Year([Дата_рождения]), Сотрудники.Ф, Сотрудники.И, Сотрудники.О;
24) юбилеи_работы
SELECT Month(Подчиненный_юбилеи_работы!Дата)
AS M, Day(Подчиненный_юбилеи_работы!Дата)
AS Д, Year(Подчиненный_юбилеи_работы!Дата)
AS Г, Year(Now())-Year(Подчиненный_юбилеи_работы!Дата)
AS Лет, Сотрудники.Ф, Сотрудники.И, Сотрудники.О,
Сотрудники.Должность
FROM ((Сотрудники
LEFT JOIN уволенные_сотрудники ON Сотрудники.КдСтр
= уволенные_сотрудники.КдСтр) LEFT JOIN Подчиненный_юбилеи_работы
ON Сотрудники.КдСтр = Подчиненный_юбилеи_работы.КдСтр)
INNER JOIN (Приказы INNER JOIN СП ON Приказы.КдДок
= СП.КдДок) ON Сотрудники.КдСтр = СП.КодСтр
GROUP BY Month(Подчиненный_юбилеи_работы!Дата),
Day(Подчиненный_юбилеи_работы!Дата), Year(Подчиненный_юбилеи_работы!Дата),
Year(Now())-Year(Подчиненный_юбилеи_работы!Дата),
Сотрудники.Ф, Сотрудники.И, Сотрудники.О,
Сотрудники.Должность, Year(Now())-Year(Подчиненный_юбилеи_работы!Дата),
уволенные_сотрудники.Дата
HAVING (((уволенные_сотрудники.Дата)
Is Null) AND ((Year(Now())-Year([Подчиненный_юбилеи_работы]![Дата]))=5))
OR (((уволенные_сотрудники.Дата) Is Null) AND
((Year(Now())-Year([Подчиненный_юбилеи_работы]![Дата]))=10))
OR (((уволенные_сотрудники.Дата) Is Null) AND
((Year(Now())-Year([Подчиненный_юбилеи_работы]![Дата]))=15))
OR (((уволенные_сотрудники.Дата) Is Null) AND
((Year(Now())-Year([Подчиненный_юбилеи_работы]![Дата]))=20))
OR (((уволенные_сотрудники.Дата) Is Null) AND
((Year(Now())-Year([Подчиненный_юбилеи_работы]![Дата]))=25))
OR (((уволенные_сотрудники.Дата) Is Null) AND
((Year(Now())-Year([Подчиненный_юбилеи_работы]![Дата]))=30))
OR (((уволенные_сотрудники.Дата) Is Null) AND
((Year(Now())-Year([Подчиненный_юбилеи_работы]![Дата]))=35))
ORDER BY Month(Подчиненный_юбилеи_работы!Дата),
Day(Подчиненный_юбилеи_работы!Дата), Year(Подчиненный_юбилеи_работы!Дата),
Сотрудники.Ф, Сотрудники.И, Сотрудники.О;
Общие
сведения о формах
Формы используются для различных целей: для отображения результатов запросов к базе данных , для вводи и модификации данных в таблицах. Формы обеспечивают удобство работы с таблицей при наглядном отображении данных на экране.
Большая часть данных, представленных в форме, берется из таблицы или запроса. Другая информация, несвязанная ни с таблицей, ни с запросом, хранится в макете формы
Для
создания связи между формой и записями
таблицы, являющейся источником данных
формы, используются графические объекты,
называемые элементами управления. Чаще
всего для отображения и ввода данных
используется поле.
Главная форма содержит 4 владки: Приветствие, Общие сведения, Бухгалтерия и Аналитика.
На вкладке «Приветствие»
Вкладка «Общие сведения» содержит основную информацию о деятельности компании: сведения о сотрудниках, клиентах, с которыми работает или работала компания, заказах, товарах, поставщиках, приходах и банках. Здесь же можно просмотреть информацию о предстоящих днях рождения сотрудников и их детей, о юбилейных датах работы и жизни.
В данной форме можно также внести изменения в уже хранящуюся в приложении информацию и занести новую информацию, например, просмотреть данные о сотрудниках компании, выбрав переключатель «Сотрудники» и нажав кнопку «Показать», или добавить нового сотрудника, нажав кнопку «Изменить». В формах предоставляется возможность сортировки фамилий сотрудников по убыванию (от Я до А) и возрастанию (от А до Я), а также можно просмотреть данные только на одного сотрудника.
При оформлении нового заказа менеджер должен убедиться поставляют ли компании необходимую клиенту марку автомобиля, и если поставляют, то, нажав на кнопку «Товары в наличии», посмотреть, есть ли данный товар на складах.
Убедившись в наличии необходимого автомобиля, менеджер переходит к оформлению заказа, выбрав «Заказы» и нажав «Изменить». В появившемся окне он вносит новые данные о заказе, из раскрывающихся списков выбираем заказчика и сотрудника, обслуживающего данный заказ (себя), а для того, чтобы определить код прихода товара нажимает кнопку «Приход-товары» и в представившейся форме узнает, когда данный автомобиль поступил на склад (код прихода).
При просмотре «Дней рождений сотрудников» появляется следующая форма
Вкладка «Бухгалтерия» служит для отображения сведений о документации компании, подготовки различного рода документов, а также изменения процента заработной платы сотрудников.
Принцип работы с общими сведениями о приказах, накладных и счет-фактурах аналогичен работе с общими сведениями в одноименной вкладке, рассмотренной выше.
Подготовка документов обеспечивает вывод в форме отчета накладных, счет-фактур, ведомостей заработной платы и приказов за определенный месяц.
Например, стоит задача подготовить накладную №11.
При нажатии на кнопку «Показать» появляется диалоговое окно с просьбой ввести номер накладной (Вводим 11). Результат:
Вкладка «Аналитика» служит для анализа деятельности компании. Здесь можно вывести информацию о «Самых-сымых», т.е. лидерах продаж (товары,струдники и т.д.) и узнать, например, три самых продаваемых товара месяца (название месяца вводится в диалоговое окно). Также можно проанализировать деятельность компании за интересующий вас период времени (с.. по..), просмотрев доходы, расходы, прибыль и заработную плату сотрудников, количество и сумму реализованной продукции за интересующий вас период времени.
Прибыль за период с..
по..
Общие сведения об отчетах
Отчет — это гибкое и эффективное средство для организации данных при выводе на печать. С помощью отчета имеется возможность вывести необходимые сведения в том виде, в котором требуется
Больше всего сведений в отчете берется из базовой таблицы, запроса или инструкции SQL, являющихся источниками данных для отчета. Другие сведения вводятся при разработке отчета.
Для
создания связи между отчётами и
его исходными данными
В базе данных содержаться следующие отчеты:
- Товарная накладная
- Счет-фактура
- Ведомость выдачи ЗП
Приказы:
- Об увольнении
- О поощрении
- О зачислении
- О наказании
Разработка пограммных расширний для база данных: макросы и модули
Макрос –
последовательность команд встроенного
в Access языка VBA, задающихавтоматическое
выполнение некоторых операций.
Модуль – совокупность описаний, инструкций и процедур на языке VBA, сохраненная под общим именем.
Выполнение сортировки и фильтрации в форме: