Содержание
Содержание................................................................................................ 2
1. Создание структуры таблиц и заполнение их данными................... 3
1.1. Таблица «Подразделения»............................................................. 3
1.2. Таблица «Виды затрат»................................................................. 3
1.3. Таблица «Журнал операций»........................................................ 3
1.4. Таблица «План 1кв2003»............................................................... 4
2. Схема связей между таблицами............................................................ 4
3. Содержимое таблиц............................................................................... 4
4. Создание запросов................................................................................ 7
4.1. Список операций по учету амортизации основных средств......... 7
4.2. Суммы затрат в разрезе балансовых счетов за февраль 2003 г.. 8
4.3. Расчет плановой и фактической сумм затрат на оплату труда
сотрудникам швейного цеха........................................................ 10
4.2. Динамика затрат подразделения Бухгалтерия по месяцам........ 13
Используемая литература....................................................................... 16
1. Создание структуры таблиц и заполнение их данными
1.1. Таблица «Подразделения»
В таблице Подразделения хранятся данные об имеющихся подразделения предприятия.
Таблица Подразделения состоит из 2-х полей следующих типом:
Имя поля |
Тип данных |
КодПодразделения |
Счетчик |
Подразделения |
Текстовый |
В таблице Подразделения поле КодПодразделение является ключевым.
1.2. Таблица «Виды затрат»
В таблице Виды затрат перечислены виды затрат предприятия.
Таблица Виды затрат включает 2 поля следующих типом:
Имя поля |
Тип данных |
КодВидаЗатрат |
Счетчик |
НаименованиеВидаЗатрат |
Текстовый |
Поле КодВидаЗатрат является ключевым.
1.3. Таблица «Журнал операций»
Таблица Журнал операций хранит сведения о проведенных хозяйственных операциях предприятия.
Таблица Журнал операций имеет 7 полей
Имя поля |
Тип данных |
Код |
Счетчик |
Дата |
Дата / время |
Дебет |
Текстовый |
Кредит |
Текстовый |
Сумма |
Денежный |
КодПодразделения |
Числовой |
КодВидаЗатрат |
Числовой |
Поле Код - ключевое.
1.4. Таблица «План 1кв2003»
Таблица План 1кв2003 содержит сведения о запланированных затратах на 1 квартал 2003 г.
Таблица План 1кв2003 включает 3 поля
Имя поля |
Тип данных |
КодПодразделения |
Числовой |
КодВидаЗатрат |
Числовой |
ПлановыеЗатраты |
Денежный |
Кредит |
Текстовый |
В этой таблице ключевое поле не задано.
2. Схема связей между таблицами
В базе данных установлены следующие связи между таблицами типа «один-ко-многим»:
При создании каждой связи устанавливались параметры: Обеспечение целостности данных, Каскадное обновление связанных полей и Каскадное удаления связанных записей.
3. Содержимое таблиц
Таблицы в базе данных содержат следующие записи:
Подразделения |
|
КодПодразделения |
Подразделение |
1 |
Администрация |
2 |
Бухгалтерия |
3 |
Швейный цех |
ВидыЗатрат |
|
КодВидаЗатрат |
НаименованиеВидаЗатрат |
1 |
Амортизация |
2 |
Арендная плата |
3 |
ЕСН |
4 |
Затраты на оплату труда |
5 |
Материальные затраты |
6 |
Налоги и сборы |
7 |
Общепроизводственные затраты |
8 |
Прочее |
9 |
Ремонт ОС |
10 |
Страхование от НСиПЗ |
Журнал операций |
||||||
Код |
Дата |
Дебет |
Кредит |
Сумма |
КодПодразделения |
КодВидаЗатрат |
1 |
06.01.2002 |
20 |
10.1 |
8 500,00р. |
3 |
5 |
2 |
08.01.2002 |
20 |
10.1 |
600,00р. |
3 |
5 |
3 |
16.01.2002 |
20 |
10.1 |
6 250,00р. |
3 |
5 |
4 |
25.01.2002 |
26 |
60.1 |
8 234,00р. |
1 |
8 |
5 |
25.01.2002 |
25 |
60.1 |
4 585,00р. |
3 |
2 |
6 |
30.01.2003 |
26 |
70 |
8 000,00р. |
1 |
4 |
7 |
30.01.2003 |
20 |
70 |
6 500,00р. |
3 |
4 |
8 |
30.01.2003 |
26 |
70 |
5 000,00р. |
2 |
4 |
9 |
31.01.2003 |
26 |
69 |
2 448,00р. |
1 |
3 |
10 |
31.01.2003 |
20 |
69 |
2 314,00р. |
3 |
3 |
11 |
31.01.2003 |
26 |
69 |
1 780,00р. |
2 |
3 |
12 |
31.01.2003 |
26 |
69.11 |
24,00р. |
1 |
10 |
13 |
31.01.2003 |
20 |
69.11 |
19,50р. |
3 |
10 |
14 |
31.01.2003 |
26 |
69.11 |
15,00р. |
2 |
10 |
15 |
31.01.2003 |
20 |
25 |
4 585,00р. |
3 |
7 |
16 |
08.02.2003 |
26 |
71.1 |
1 100,00р. |
2 |
8 |
17 |
08.02.2003 |
20 |
71.1 |
333,33р. |
3 |
5 |
18 |
09.02.2003 |
20 |
10.1 |
5 000,00р. |
3 |
5 |
19 |
12.02.2003 |
26 |
60.1 |
600,00р. |
1 |
9 |
20 |
25.02.2003 |
26 |
60.1 |
715,00р. |
1 |
8 |
21 |
25.02.2003 |
25 |
60.1 |
4 565,00р. |
3 |
2 |
22 |
25.02.2003 |
26 |
60.1 |
7 568,00р. |
1 |
8 |
23 |
28.02.2003 |
26 |
70 |
8 000,00р. |
1 |
4 |
24 |
28.02.2003 |
20 |
70 |
8 000,00р. |
3 |
4 |
25 |
28.02.2003 |
26 |
70 |
4 500,00р. |
2 |
4 |
26 |
28.02.2003 |
28 |
02.1 |
152,10р. |
2 |
1 |
27 |
28.03.2003 |
20 |
02.1 |
190,00р. |
3 |
1 |
28 |
28.02.2003 |
26 |
69 |
2 848,00р. |
1 |
3 |
29 |
28.02.2003 |
20 |
69 |
2 848,00р. |
3 |
3 |
30 |
28.02.2003 |
26 |
69 |
1 602,00р. |
2 |
3 |
31 |
28.02.2003 |
26 |
69.11 |
24,00р. |
1 |
10 |
32 |
28.02.2003 |
20 |
69.11 |
24,00р. |
3 |
10 |
33 |
28.02.2003 |
26 |
69.11 |
13,50р. |
2 |
10 |
34 |
28.02.2003 |
26 |
97 |
222,53р. |
1 |
8 |
35 |
28.02.2003 |
20 |
25 |
4 585,00р. |
3 |
7 |
36 |
26.03.2003 |
26 |
02.1 |
23,70р. |
2 |
1 |
37 |
26.03.2003 |
26 |
60.1 |
668,00р. |
1 |
8 |
38 |
26.03.2003 |
25 |
60.1 |
4 565,00р. |
3 |
2 |
39 |
26.03.2003 |
26 |
60.1 |
7 568,00р. |
1 |
8 |
40 |
31.03.2003 |
26 |
02.1 |
128,33р. |
2 |
1 |
41 |
31.03.2003 |
20 |
02.1 |
190,00р. |
3 |
1 |
42 |
31.03.2003 |
26 |
05 |
1 923,08р. |
1 |
1 |
43 |
31.03.2003 |
26 |
70 |
8 000,00р. |
1 |
4 |
44 |
31.03.2003 |
20 |
70 |
8 000,00р. |
3 |
4 |
45 |
31.03.2003 |
26 |
70 |
5 000,00р. |
2 |
4 |
46 |
31.03.2003 |
26 |
69 |
2 848,00р. |
1 |
3 |
47 |
31.03.2003 |
20 |
69 |
2 848,00р. |
3 |
3 |
48 |
31.03.2003 |
26 |
69 |
1 780,00р. |
2 |
3 |
49 |
31.03.2003 |
26 |
69.11 |
39,00р. |
1 |
10 |
50 |
31.03.2003 |
20 |
69.11 |
24,00р. |
3 |
10 |
51 |
31.03.2003 |
26 |
97 |
453,15р. |
1 |
8 |
52 |
31.03.2003 |
20 |
25 |
4 565,00р. |
3 |
7 |
План 1кв2003 |
||
КодПодразделения |
КодВидаЗатрат |
ПлановыеЗатраты |
1 |
1 |
1 923,00р. |
2 |
1 |
304,00р. |
3 |
1 |
380,00р. |
3 |
2 |
14 000,00р. |
1 |
3 |
8 144,00р. |
2 |
3 |
5 162,00р. |
3 |
3 |
8 010,00р. |
1 |
4 |
24 000,00р. |
2 |
4 |
14 500,00р. |
3 |
4 |
22 500,00р. |
3 |
5 |
25 000,00р. |
3 |
7 |
13 695,00р. |
1 |
8 |
25 000,00р. |
2 |
8 |
2 000,00р. |
1 |
9 |
1 000,00р. |
1 |
10 |
87,00р. |
2 |
10 |
28,50р. |
3 |
10 |
67,50р. |
4. Создание запросов
4.1. Список операций по учету амортизации основных средств
В бланк Конструктора запроса переместим поля Дебет, Кредит и Сумма из таблицы Журнал операций, а также поле НаименованиеВидаЗатрат из таблицы ВидыЗатрат.
Зададим условие отбора «Амортизация» для поля НаименованиеВидаЗатрат.
После этого в режиме Конструктора запрос примет вид:
Или при просмотре в режиме SQL:
SELECT [Журнал операций].Код, [Журнал операций].Дата, [Журнал операций].Дебет, [Журнал операций].Кредит, [Журнал операций].Сумма, Подразделения.Подразделение, ВидыЗатрат.НаименованиеВидаЗатрат
FROM ВидыЗатрат INNER JOIN (Подразделения INNER JOIN [Журнал операций] ON Подразделения.КодПодразделения = [Журнал операций].КодПодразделения) ON ВидыЗатрат.КодВидаЗатрат = [Журнал операций].КодВидаЗатрат
WHERE (((ВидыЗатрат.НаименованиеВидаЗатрат)="Амортизация"));
Запрос выдаст следующие данные об операциях по амортизации:
Операции по учету амортизации ОС |
||||||
Код |
Дата |
Дебет |
Кредит |
Сумма |
Подразделение |
НаименованиеВидаЗатрат |
26 |
28.02.2003 |
28 |
02.1 |
152,10р. |
Бухгалтерия |
Амортизация |
27 |
28.03.2003 |
20 |
02.1 |
190,00р. |
Швейный цех |
Амортизация |
36 |
26.03.2003 |
26 |
02.1 |
23,70р. |
Бухгалтерия |
Амортизация |
40 |
31.03.2003 |
26 |
02.1 |
128,33р. |
Бухгалтерия |
Амортизация |
41 |
31.03.2003 |
20 |
02.1 |
190,00р. |
Швейный цех |
Амортизация |
42 |
31.03.2003 |
26 |
05 |
1 923,08р. |
Администрация |
Амортизация |
4.2. Суммы затрат в разрезе балансовых счетов за февраль 2003 г.
Первоначально создадим простой запрос, в который добавим поля Дата и Сумма из таблицы Журнал операций, поле Подразделение из таблицы Подразделения и поле НаименованиеВидаЗатрат из таблицы ВидыЗатрат.
Для поля Дата зададим условие отбора Between #01.02.2003# And #28.02.2003#, которое позволит отобрать только операции, проводимые в феврале 2003 года.
После этого в режиме Конструктора запрос примет вид:
Или на SQL:
SELECT [Журнал операций].Дата, [Журнал операций].Сумма, Подразделения.Подразделение, ВидыЗатрат.НаименованиеВидаЗатрат
FROM Подразделения INNER JOIN (ВидыЗатрат INNER JOIN [Журнал операций] ON ВидыЗатрат.КодВидаЗатрат = [Журнал операций].КодВидаЗатрат) ON Подразделения.КодПодразделения = [Журнал операций].КодПодразделения
WHERE ((([Журнал операций].Дата) Between #2/1/2003# And #2/28/2003#));
По запросу получим:
Затраты за февраль 2003 г |
|||
Дата |
Сумма |
Подразделение |
НаименованиеВидаЗатрат |
08.02.2003 |
1 100,00р. |
Бухгалтерия |
Прочее |
08.02.2003 |
333,33р. |
Швейный цех |
Материальные затраты |
09.02.2003 |
5 000,00р. |
Швейный цех |
Материальные затраты |
12.02.2003 |
600,00р. |
Администрация |
Ремонт ОС |
25.02.2003 |
715,00р. |
Администрация |
Прочее |
25.02.2003 |
4 565,00р. |
Швейный цех |
Арендная плата |
25.02.2003 |
7 568,00р. |
Администрация |
Прочее |
28.02.2003 |
8 000,00р. |
Администрация |
Затраты на оплату труда |
28.02.2003 |
8 000,00р. |
Швейный цех |
Затраты на оплату труда |
28.02.2003 |
4 500,00р. |
Бухгалтерия |
Затраты на оплату труда |
28.02.2003 |
152,10р. |
Бухгалтерия |
Амортизация |
28.02.2003 |
2 848,00р. |
Администрация |
ЕСН |
28.02.2003 |
2 848,00р. |
Швейный цех |
ЕСН |
28.02.2003 |
1 602,00р. |
Бухгалтерия |
ЕСН |
28.02.2003 |
24,00р. |
Администрация |
Страхование от НСиПЗ |
28.02.2003 |
24,00р. |
Швейный цех |
Страхование от НСиПЗ |
28.02.2003 |
13,50р. |
Бухгалтерия |
Страхование от НСиПЗ |
28.02.2003 |
222,53р. |
Администрация |
Прочее |
28.02.2003 |
4 585,00р. |
Швейный цех |
Общепроизводственные затраты |
Теперь на основании только что созданного простого запроса создадим перекрестный запрос.
Для этого перейдем на вкладку Запросы главного окна базы данных. Нажмем кнопку Создать и выберем пункт Перекрестный.
На первом шаге мастера в качестве источника данных для перекрестного запроса выберем созданный простой запрос.
На втором шаге зададим для Заголовков строк поле НаименованиеВидаЗатрат, а для Заголовков столбцов – Подразделение.
Зададим вычисление функции Сумма для поля Сумма.
В результате созданный перекрестный запрос в режиме Конструктора примет вид:
Или на SQL:
TRANSFORM Sum([Затраты за февраль 2003 г].Сумма) AS [Sum-Сумма]
SELECT [Затраты за февраль 2003 г].НаименованиеВидаЗатрат, Sum([Затраты за февраль 2003 г].Сумма) AS [Итоговое значение Сумма]
FROM [Затраты за февраль 2003 г]
GROUP BY [Затраты за февраль 2003 г].НаименованиеВидаЗатрат
PIVOT [Затраты за февраль 2003 г].Подразделение;
По запросу получим суммы затрат в разрезе балансовых счетов:
Затраты за февраль 2003 г_перекрестный |
||||
НаименованиеВидаЗатрат |
Итоговое значение Сумма |
Администрация |
Бухгалтерия |
Швейный цех |
Амортизация |
152,10р. |
152,10р. |
||
Арендная плата |
4 565,00р. |
4 565,00р. |
||
ЕСН |
7 298,00р. |
2 848,00р. |
1 602,00р. |
2 848,00р. |
Затраты на оплату труда |
20 500,00р. |
8 000,00р. |
4 500,00р. |
8 000,00р. |
Материальные затраты |
5 333,33р. |
5 333,33р. |
||
Общепроизводственные затраты |
4 585,00р. |
4 585,00р. |
||
Прочее |
9 605,53р. |
8 505,53р. |
1 100,00р. |
|
Ремонт ОС |
600,00р. |
600,00р. |
||
Страхование от НСиПЗ |
61,50р. |
24,00р. |
13,50р. |
24,00р. |
4.3. Расчет плановой и фактической сумм затрат на оплату труда сотрудникам швейного цеха
В Конструктор запроса перенесем поле НаименованиеВидаЗатрат из таблицы ВидыЗатрат, поле Подразделение из таблицы Подразделения, поле ПлановыеЗатраты из таблицы План 1кв2003, поля Дата и Сумма из таблицы Журнал операций.
Зададим условия отбора «Затраты на оплату труда» для поля НаименованиеВидаЗатрат и «Швейный цех» для поля Подразделение.
В результате в режиме Конструктора получим:
Или в режиме SQL:
SELECT ВидыЗатрат.НаименованиеВидаЗатрат, Подразделения.Подразделение, [План 1кв2003].ПлановыеЗатраты, [Журнал операций].Дата, [Журнал операций].Сумма
FROM Подразделения INNER JOIN ((ВидыЗатрат INNER JOIN [План 1кв2003] ON ВидыЗатрат.КодВидаЗатрат = [План 1кв2003].КодВидаЗатрат) INNER JOIN [Журнал операций] ON ВидыЗатрат.КодВидаЗатрат = [Журнал операций].КодВидаЗатрат) ON (Подразделения.КодПодразделения = [План 1кв2003].КодПодразделения) AND (Подразделения.КодПодразделения = [Журнал операций].КодПодразделения)
WHERE (((ВидыЗатрат.НаименованиеВидаЗатрат)="Затраты на оплату труда") AND ((Подразделения.Подразделение)="Швейный цех"));
Запрос выдаст:
Плановые и фактические затраты |
||||
НаименованиеВидаЗатрат |
Подразделение |
ПлановыеЗатраты |
Дата |
Сумма |
Затраты на оплату труда |
Швейный цех |
22 500,00р. |
30.01.2003 |
6 500,00р. |
Затраты на оплату труда |
Швейный цех |
22 500,00р. |
28.02.2003 |
8 000,00р. |
Затраты на оплату труда |
Швейный цех |
22 500,00р. |
31.03.2003 |
8 000,00р. |
Теперь на основании этого простого запроса выполним создание другого простого запроса при помощи Мастера.
Для этого перейдем на вкладку Запросы окна базы данных, нажмем кнопку Создать и выберем пункт Простой запрос.
Для источника данных создаваемого запроса выберем все поля из созданного выше запроса.
Выберем Создание итогового запроса и нажмем кнопку Итоги.
В открывшемся окне зададим функцию Sum для полей ПлановыеЗатраты и Сумма:
Зададим Интервал группировки дат: по годам:
В результате полученный запрос на SQL будет записан так:
SELECT DISTINCTROW [Плановые и фактические затраты].НаименованиеВидаЗатрат, [Плановые и фактические затраты].Подразделение, Format$([Плановые и фактические затраты].[Дата],'yyyy') AS [Дата по годам], Sum([Плановые и фактические затраты].ПлановыеЗатраты) AS [Sum - ПлановыеЗатраты], Sum([Плановые и фактические затраты].Сумма) AS [Sum - Сумма]
FROM [Плановые и фактические затраты]
GROUP BY [Плановые и фактические затраты].НаименованиеВидаЗатрат, [Плановые и фактические затраты].Подразделение, Format$([Плановые и фактические затраты].[Дата],'yyyy'), Year([Плановые и фактические затраты].[Дата]);
Запрос выдаст результат:
Плановые и фактические затраты Запрос |
||||
НаименованиеВидаЗатрат |
Подразделение |
Дата по годам |
Sum - ПлановыеЗатраты |
Sum - Сумма |
Затраты на оплату труда |
Швейный цех |
2003 |
67 500,00р. |
22 500,00р. |
4.2. Динамика затрат подразделения Бухгалтерия по месяцам
Первоначально создадим простой запрос при помощи Конструктора.
Возьмем поле Подразделение из таблицы Подразделения, поле НаименованиеВидаЗатрат из таблицы ВидыЗатрат, поля Дата и Сумма из таблицы Журнал операций.
Для поля Подразделение зададим условие отбора «Бухгалтерия».
В Конструкторе запрос примет вид:
Или на SQL:
SELECT Подразделения.Подразделение, ВидыЗатрат.НаименованиеВидаЗатрат, [Журнал операций].Дата, [Журнал операций].Сумма
FROM Подразделения INNER JOIN (ВидыЗатрат INNER JOIN [Журнал операций] ON ВидыЗатрат.КодВидаЗатрат = [Журнал операций].КодВидаЗатрат) ON Подразделения.КодПодразделения = [Журнал операций].КодПодразделения
WHERE (((Подразделения.Подразделение)="Бухгалтерия"));
Запрос выдаст результат:
Затраты бухгалтерии |
|||
Подразделение |
НаименованиеВидаЗатрат |
Дата |
Сумма |
Бухгалтерия |
Затраты на оплату труда |
30.01.2003 |
5 000,00р. |
Бухгалтерия |
ЕСН |
31.01.2003 |
1 780,00р. |
Бухгалтерия |
Страхование от НСиПЗ |
31.01.2003 |
15,00р. |
Бухгалтерия |
Прочее |
08.02.2003 |
1 100,00р. |
Бухгалтерия |
Затраты на оплату труда |
28.02.2003 |
4 500,00р. |
Бухгалтерия |
Амортизация |
28.02.2003 |
152,10р. |
Бухгалтерия |
ЕСН |
28.02.2003 |
1 602,00р. |
Бухгалтерия |
Страхование от НСиПЗ |
28.02.2003 |
13,50р. |
Бухгалтерия |
Амортизация |
26.03.2003 |
23,70р. |
Бухгалтерия |
Амортизация |
31.03.2003 |
128,33р. |
Бухгалтерия |
Затраты на оплату труда |
31.03.2003 |
5 000,00р. |
Бухгалтерия |
ЕСН |
31.03.2003 |
1 780,00р. |
Далее на основании этого простого запроса создадим перекрестный запрос.
Для заголовков строк выберем поле НаименованиеВидаЗатрат, а для заголовков столбцов – Дата.
Интервал группировки зададим Месяц.
Для поля Сумма зададим функцию Сумма.
В Конструкторе запрос имеет вид:
Или на SQL:
TRANSFORM Sum([Затраты бухгалтерии].Сумма) AS [Sum-Сумма]
SELECT [Затраты бухгалтерии].НаименованиеВидаЗатрат, Sum([Затраты бухгалтерии].Сумма) AS [Итоговое значение Сумма]
FROM [Затраты бухгалтерии]
GROUP BY [Затраты бухгалтерии].НаименованиеВидаЗатрат
PIVOT Format([Дата],"mmm") In ("янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек");
Запрос выдаст результат о затратах бухгалтерии по месяцам:
Затраты бухгалтерии_перекрестный |
||||
НаименованиеВидаЗатрат |
Итоговое значение Сумма |
янв |
фев |
мар |
Амортизация |
304,13р. |
152,10р. |
152,03р. |
|
ЕСН |
5 162,00р. |
1 780,00р. |
1 602,00р. |
1 780,00р. |
Затраты на оплату труда |
14 500,00р. |
5 000,00р. |
4 500,00р. |
5 000,00р. |
Прочее |
1 100,00р. |
1 100,00р. |
||
Страхование от НСиПЗ |
28,50р. |
15,00р. |
13,50р. |
Используемая литература
1. Грэм Малкольм. Программирование для Microsoft SQL SERVER 2000 с использованием XML. Пер. с англ. – М.
2. Гофман В.Э., Хомоненко А.Д. Работа с базами данных в Delphi. – СПб,: БХВ-Петербург, 2001. – 656 с.: ил.
3. Левин А. Самоучитель работы на компьютере. Москва, издательство «Нолидж», 1999 – 624 с.
4. Козырев А.А. Самоучитель работы на персональном компьютере. Учебное пособие. Изд. 2-е, переработанное и дополненное. СПб.: Изд-во Михайлова В.А., 2000 – 304 с.
5. Вейскас Дж. Эффективная работа: Microsoft Office Access 2003. Издательский дом «Питер», 2005. – 1168 с.
6. Хэлворсон М., Янг М. Эффективная работа: Office XP. Издательский дом «Питер», 2004. – 1072