b>4. Вхідна інформаціяВхідна інформація для розв'язання задачі - первинні документи, файли з довідкової бази даних. Перелік і опис вхідних повідомлень для розв'язання задачі наведено в таблиці 3. Таблиця 3 |
№ з/п | Вхідне повідомлення | Ідентифікатор | Форма подання | Термін і частота надходження | Джерело | | 1 | Дата початку періоду | DAT1 | Поле | При введенні | Матеріальний відділ підприємства | | 2 | Дата кінця періоду | DAT2 | Поле | При введенні | Матеріальний відділ підприємства | | 3 | Номер ордеру | NR | Поле | При введенні | Матеріальний відділ підприємства | | 4 | Список операцій | OPERRES | Файл | По запиту | БД | | |
Перелік та опис структурних одиниць інформації вхідних повідомлень задачі наведено в таблиці 4. Таблиця 4 |
№ п/п | Структурна одиниця | Необхідна точність числового значення | Джерело інформації | Ідентифікатор джерела інформації | | 1 | Дата початку періоду | | Поле вводу | DAT1 | | 2 | Дата кінця періоду | | Поле вводу | DAT2 | | 3 | Номер ордеру | | Поле вводу | NR | | 4 | Дата операції | | Файл БД | OPERRES | | 5 | Тип операції | | Файл БД | OPERRES | | 6 | Сума операції | 0,01 | Файл БД | OPERRES | | | 5. Опис алгоритму5.1. Математичний опис задачіУсі записи, що потрібні для вирішення задачі, зберігаються у одному файлі БД під назвою OPERRES. Кожна запис цього файлу - це окрема операція, яка відбулася з певним ордером. Кожна операція має певну суму, яку ми позначимо як S.Сума, яка стосується певного ордеру та певної дати (або періоду) позначимо як Shr - де h - це позначення періоду, r - позначення ордеру.Операції по рахунках матеріальних ресурсів бувають двох видів: прибуткові та видаткові. Позначимо індексами пр та вид тип операції. Тоді сума може мати вигляд: або Щоб визначити залишок по балансових рахунках матеріальних ресурсів, треба використати таку формулу: (1)де Shr, Shrj, Shri - відповідно залишок, надходження та витрати матеріальних ресурсів за h-ий період за r-им ордером згідно з j-им прибутковим чи i-им видатковим документом.5.2. Структурно-логічна схема алгоритму6.1. Таблиці та запити БДДля зберігання вхідних даних задачі створено такі таблиці:|
Назва таблиці | Призначення таблиці | | Рахунки | Код і тип балансового рахунку матеріальних ресурсів | | Довідник матеріальних ресурсів | Код та назва матеріального ресурсу | | Операції | Операції, які проводилися у підприємстві за період | | Ордери | Коди та номери ордерів, залишкова сума | | |
Структури таблиць: Рахунки |
Назва поля | Тип | Довжина | Опис | | Ордер | Лічильник | 12 | Код ордеру | | Номер | Текстовий | 20 | Тип балансового рахунку | | Матеріальний ресурс | Числовий | 4 | Код матеріального ресурсу | | Назва рахунку | Числовий | 255 | Назва рахунку | | Сума | Числовий | 8 | Сума | | Стан | Логічний | 3 | Стан рахунку | | |
Довідник матеріальних ресурсів |
Назва поля | Тип | Довжина | Опис | | Матеріальний ресурс | Числовий | 4 | Код матеріального ресурсу | | Назва | Текстовий | 30 | Назва матеріального ресурсу | | |
Операції |
Назва поля | Тип | Довжина | Опис | | Операція | Числовий | 4 | Код операції | | Номер | Текстовий | 15 | Номер операції | | Дата | Дата | 8 | Дата операції | | Тип | Числовий | 4 | Тип операції | | Документ | Числовий | 8 | Ордер операції | | Сума | Числовий | 8 | Сума операції | | |
Ордери |
Назва поля | Тип | Довжина | Опис | | Номер | Лічильник | 4 | Номер ордеру | | Рахунок | Числовий | 20 | Номер рахунку | | Назва | Текстовий | 4 | Назва рахунку | | Тип | Текстовий | 12 | Тип рахунку | | Сума | | 10 | Залишкова сума по рахунках матеріальних ресурсів | | |
Структура запиту розроблено безпосередньо для кнопці «Отримати документ» (кнопка 8) форми на мові VBA. Схема даних БД модулю аналізу матеріальних ресурсів наведено на рис.6.1. Рис.6.1. Форма «Реєстр матеріальних ресурсів» наведено на рис.6.2. Рис.6.2. Після введення у формі початкової дати і кінцевої дати проміжку часу, за який потрібно отримати інформацію по руху коштів за матеріальними ресурсами та вибору номера документу з випадаючого списку треба натиснути кнопку „Отримати документ”. Звіт (натиснення кнопки „Отримати звіт”) „Реєстр матеріальних ресурсів” наведений на рис.6.3. Рис.6.3. При натисненні кнопки „Надрукувати звіт” - звіт буде відправлено на друкарський пристрій (принтер) до друку. При натисненні кнопки „Вихід” буде здійснено закриття форми. Вихід з програми здійснюється за допомогою кнопці „Вихід” головної кнопкової форми (наведена в додатку 1), що завантажується автоматично при відкритті БД. Лістинг кодів VBA модулю „Матеріальні ресурси підприємства” наведений у додатку 2 до даній курсової роботи. Висновок 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
Страницы: 1, 2
|