Содержание

Содержание................................................................................................ 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