Курсовая работа: Автоматизація обліку та аналізу матеріальних ресурсів підприємства
Таблиця 4
№ п/п |
Структурна одиниця |
Необхідна точність числового значення |
Джерело інформації |
Ідентифікатор джерела інформації |
1 | Дата початку періоду | Поле вводу | DAT1 | |
2 | Дата кінця періоду | Поле вводу | DAT2 | |
3 | Номер ордеру | Поле вводу | NR | |
4 |
Дата операції |
Файл БД | OPERRES | |
5 |
Тип операції |
Файл БД | OPERRES | |
6 |
Сума операції |
0,01 | Файл БД | OPERRES |
5.1. Математичний опис задачі
Усі записи, що потрібні для вирішення задачі, зберігаються у одному файлі БД під назвою OPERRES. Кожна запис цього файлу – це окрема операція, яка відбулася з певним ордером. Кожна операція має певну суму, яку ми позначимо як S.
Сума, яка стосується певного ордеру та певної дати (або періоду) позначимо як Shr – де h – це позначення періоду, r – позначення ордеру.
Операції по рахунках матеріальних ресурсів бувають двох видів: прибуткові та видаткові. Позначимо індексами пр та вид тип операції. Тоді сума може мати вигляд:
або
Щоб визначити залишок по балансових рахунках матеріальних ресурсів, треба використати таку формулу:
(1)
де Shr, Shrj, Shri – відповідно залишок, надходження та витрати матеріальних ресурсів за h-ий період за r-им ордером згідно з j-им прибутковим чи i-им видатковим документом.
5.2. Структурно-логічна схема алгоритму
Для зберігання вхідних даних задачі створено такі таблиці:
Назва таблиці |
Призначення таблиці |
Рахунки | Код і тип балансового рахунку матеріальних ресурсів |
Довідник матеріальних ресурсів | Код та назва матеріального ресурсу |
Операції | Операції, як проводилися у підприємстві за період |
Ордери | Коди та номери ордерів, залишкова сума |
Структури таблиць:
Рахунки
Назва поля |
Тип |
Довжина |
Опис |
Ордер | Лічильник | 12 | Код ордеру |
Номер | Текстовий | 20 | Тип балансового рахунку |
Матеріальний ресурс | Числовий | 4 | Код матеріального ресурсу |
Назва рахунку | Числовий | 255 | Назва рахунку |
Сума | Числовий | 8 | Сума |
Стан | Логічний | 3 | Стан рахунку |
Довідник матеріальних ресурсів
Назва поля |
Тип |
Довжина |
Опис |
Матеріальний ресурс | Числовий | 4 | Код матеріального ресурсу |
Назва | Текстовий | 30 | Назва матеріального ресурсу |
Операції
Назва поля |
Тип |
Довжина |
Опис |
Операція | Числовий | 4 | Код операції |
Номер | Текстовий | 15 | Номер операції |
Дата | Дата | 8 | Дата операції |
Тип | Числовий | 4 | Тип операції |
Документ | Числовий | 8 | Ордер операції |
Сума | Числовий | 8 | Сума операції |
Ордери
Назва поля |
Тип |
Довжина |
Опис |
Номер | Лічильник | 4 | Номер ордеру |
Рахунок | Числовий | 20 | Номер рахунку |
Назва | Текстовий | 4 | Назва рахунку |
Тип | Текстовий | 12 | Тип рахунку |
Сума | 10 | Залишкова сума по рахунках матеріальних ресурсів |
Структура запиту розроблено безпосередньо для кнопці «Отримати документ» (кнопка 8) форми на мов VBA.
Схема даних БД модулю аналізу матеріальних ресурсів наведено на рис.6.1.
Форма «Реєстр матеріальних ресурсів» наведено на рис.6.2.
Звіт (натиснення кнопки „Отримати звіт”) „Реєстр матеріальних ресурсів” наведений на рис.6.3.
При натисненні кнопки „Надрукувати звіт” – звіт буде відправлено на друкарський пристрій (принтер) до друку.
При натисненні кнопки „Вихід” буде здійснено закриття форми.
Microsoft Access, володіючи всіма рисами класичної СУБД, надає і додаткові можливості. Access - це не тільки могутня, гнучка і проста у використовуванні СУБД, але і система для розробки працюючих з базами даних додатків. За допомогою Access ми створили додаток, що працює в середовищі Windows і повністю відповідне нашим потребам по управлінню даними. Використовуючи запити, ми можемо вибирати і обробляти в таблицях нформацію, що зберігається. Створили форми для введення, перегляду і оновлення даних, а також використали Access для створення як простих, так і складних звітів. Форми і звіти «успадковують» властивості базової таблиці або запиту, так що в більшості випадків ми вказуємо формати, умови на значення і деякі інш характеристики даних тільки один раз. До числа наймогутніших засобів Access відносяться засоби розробки об'єктів - Майстри, яких ми використовували для створення таблиць, запитів різних типів форм і звітів, а також кнопок і інших атрибутів вбудованого Visual Basic, просто вибравши за допомогою миші потрібні опції. Щоб повністю автоматизувати роботу додатку, за допомогою макросів Access також можна легко зв'язати дані з формами і звітами. Переконалися, що можна створити додаток, не написавши ні єдиного рядка програми, але якщо нам необхідно створити щось вже дуже витончене, то на цей випадок Microsoft Access нада могутню мову програмування - Microsoft Access Visual Basic for Application - VBA.
І, нарешті, всі ці засоби дозволяють створювати додатки, що працюють не тільки з базою даних Access, але і з іншими найпоширенішими базами даних. Наш додаток, при потребі, може працювати безпосередньо з файлами dBASE, з базами даних Раrаdох, FохРrо і будь-якою базою даних, підтримуючих ОDВС. Можна також легко імпортувати дані з текстових файлів, документів текстових процесорів і електронних таблиць (і експортувати дані в них).
Microsoft Access має безліч областей застосування: на малому підприємстві; в роботі за контрактом, коли ми розробляємо прикладні програми за замовленням або виступаємо в рол консультанта; у великих корпораціях, коли ми виступаємо в ролі координатора виробничих інформаційних систем і навіть у сфері домашнього застосування.
1. Рогач І.Ф., Сендзюк М.А., Антонюк В.А., Денісова О.О. Інформаційні системи. – Київ, КНЕУ, 2001. – 324 с.
2. Ситник В.Ф. та ін. Основи інформаційних систем К.:КНЕУ, 2001
3. Береза А.М. Основи створення інформаційних систем К.:КНЕУ, 2001
4. Информационные системы в экономике. Под редакцией профессора В.В.Дика – М.:Финансы и статистика, 1996
5. Смирнова Г.Н, Сорокин А.А., Тельнов Ю.Ф. Проектирование экономических информационных систем – М.: Финансы и статистика, 2003
Додаток 1
Рис.Д1. Головна кнопкова форма модулю Матеріальні ресурси підприємства”
Додаток 2
Лістинг кодів VBA модулю „Матеріальні ресурси підприємства”
Option Compare Database
Private Sub Form_Open(Cancel As Integer)
Me.РухКоштів.Form.Filter = False
Me.РухКоштів.Form.FilterOn = True
End Sub
Private Sub Кнопка10_Click()
DoCmd.Close
End Sub
Private Sub Кнопка8_Click()
Dim StrFilt As String
Dim StrDat1 As String
Dim StrDat2 As String
Dim sv As Single
Dim sp As Single
Dim dbs As Database
Dim oper As Recordset
Dim rah As Recordset
Set dbs = CurrentDb
Set oper = dbs.OpenRecordset("Операції")
Set rah = dbs.OpenRecordset("Рахунки", dbOpenDynaset)
StrDat1 = "#" & Month(Me.ДатаС) & "/" _
& Day(Me.ДатаС) & "/" _
& Year(Me.ДатаС) & "#"
StrDat2 = "#" & Month(Me.ДатаПо) & "/" _
& Day(Me.ДатаПо) & "/" _
& Year(Me.ДатаПо) & "#"
StrFilt = "Дата >= " & StrDat1 & " AND " & _
"Дата <= " & StrDat2 & " AND " & _
"Документ = " & Me.Ордер
'Me.РухКоштів.Form.Filter = StrFilt
rah.FindFirst "Ордер = " & Me.Ордер
Me.Залишок = rah!Сума
oper.MoveFirst
sv = 0
sp = 0
Do While Not oper.EOF
If oper!Документ = Val(Me.Ордер) Then
Select Case oper!Тип
Case "Видаток"
sv = sv + oper!Сума
Case "Прибуток"
sp = sp + oper!Сума
End Select
End If
oper.MoveNext
Loop
Me.Залишок = Me.Залишок - sv + sp
oper.Close
rah.Close
Set dbs = Nothing
Me.РухКоштів.Form.Filter = StrFilt
End Sub
Private Sub Кнопка9_Click()
DoCmd.OpenReport "Реєстр документів", acViewPreview, , _
Me.РухКоштів.Form.Filter
End Sub
Private Sub Кнопка13_Click()
On Error GoTo Err_Кнопка13_Click
Dim stDocName As String
stDocName = ChrW(1056) & ChrW(1077) & ChrW(1108) & ChrW(1089) & ChrW(1090) & ChrW(1088) & ChrW(32) & ChrW(1082) & ChrW(1072) & ChrW(1089) & ChrW(1086) & ChrW(1074) & ChrW(1080) & ChrW(1093) & ChrW(32) & ChrW(1086) & ChrW(1088) & ChrW(1076) & ChrW(1077) & ChrW(1088) & ChrW(1110) & ChrW(1074)
DoCmd.OpenReport stDocName, acPreview
Exit_Кнопка13_Click:
Exit Sub
Err_Кнопка13_Click:
MsgBox Err.Description
Resume Exit_Кнопка13_Click
End Sub
Private Sub Кнопка14_Click()
On Error GoTo Err_Кнопка14_Click
Dim stDocName As String
stDocName = ChrW(1056) & ChrW(1077) & ChrW(1108) & ChrW(1089) & ChrW(1090) & ChrW(1088) & ChrW(32) & ChrW(1087) & ChrW(1083) & ChrW(1072) & ChrW(1090) & ChrW(1110) & ChrW(1078) & ChrW(1085) & ChrW(1080) & ChrW(1093) & ChrW(32) & ChrW(1076) & ChrW(1086) & ChrW(1082) & ChrW(1091) & ChrW(1084) & ChrW(1077) & ChrW(1085) & ChrW(1090) & ChrW(1110) & ChrW(1074)
DoCmd.OpenReport stDocName, acPreview
Exit_Кнопка14_Click:
Exit Sub
Err_Кнопка14_Click:
MsgBox Err.Description
Resume Exit_Кнопка14_Click
End Sub
Private Sub Кнопка15_Click()
On Error GoTo Err_Кнопка15_Click
Dim stDocName As String
stDocName = ChrW(1056) & ChrW(1077) & ChrW(1108) & ChrW(1089) & ChrW(1090) & ChrW(1088) & ChrW(32) & ChrW(1084) & ChrW(1072) & ChrW(1090) & ChrW(1077) & ChrW(1088) & ChrW(1110) & ChrW(1072) & ChrW(1083) & ChrW(1100) & ChrW(1085) & ChrW(1080) & ChrW(1093) & ChrW(32) & ChrW(1088) & ChrW(1077) & ChrW(1089) & ChrW(1091) & ChrW(1088) & ChrW(1089) & ChrW(1110) & ChrW(1074)
DoCmd.OpenReport stDocName, acPreview
Exit_Кнопка15_Click:
Exit Sub
Err_Кнопка15_Click:
MsgBox Err.Description
Resume Exit_Кнопка15_Click
End Sub
Private Sub Кнопка16_Click()
On Error GoTo Err_Кнопка16_Click
Dim stDocName As String
stDocName = ChrW(1056) & ChrW(1077) & ChrW(1108) & ChrW(1089) & ChrW(1090) & ChrW(1088) & ChrW(32) & ChrW(1084) & ChrW(1072) & ChrW(1090) & ChrW(1077) & ChrW(1088) & ChrW(1110) & ChrW(1072) & ChrW(1083) & ChrW(1100) & ChrW(1085) & ChrW(1080) & ChrW(1093) & ChrW(32) & ChrW(1088) & ChrW(1077) & ChrW(1089) & ChrW(1091) & ChrW(1088) & ChrW(1089) & ChrW(1110) & ChrW(1074)
DoCmd.OpenReport stDocName, acNormal
Exit_Кнопка16_Click:
Exit Sub
Err_Кнопка16_Click:
MsgBox Err.Description
Resume Exit_Кнопка16_Click
End Sub