Проектирование информационных систем

Автор работы: Пользователь скрыл имя, 19 Марта 2012 в 10:19, курсовая работа

Краткое описание

Разработка программы учета выдачи кредитов требует создания базы данных, а также приложения, для удобной работы с данной базой. Возможность реализовать обе эти составляющие предоставляет программа Access из пакета Microsoft Office. Она проста для понимания, и разработка приложения не затруднит даже мало опытного пользователя. В тоже время она предоставляем мощный функционал, с помощью которого опытный программис может создавать полнофункциональные приложения с удобным интерфейсом.

Содержание работы

Введение.
Постановка задачи. Описание экономической сущности задачи.
Математическая формулировка задачи и уточнение формы представления исходных данных
Выбор метода обработки информации.
Реализация задачи в среде ACCESS. Построение таблиц, запросов, форм, отчетов. Разработка интерфейса.
Результаты проведенных расчетов и их анализ.
Заключение и выводы
Список использованной литературы

Содержимое работы - 1 файл

Курсовой проект.DOC

— 328.50 Кб (Скачать файл)
fy"> 

 

      Проценты (Procent) – позволяет зарегистрировать начисление процентов по кредиту. При вводе кода кредита величина процентов вычисляется автоматически.

 

 

Также в приложении присутствует форма главного меню программы, предоставляющая интерфейс для вызова вышеописанных функций.

 

 

Форма главного меню открывается сразу после открытия файла базы данных в приложении MS Access.


Результаты проведенных расчетов и их анализ.

Результаты продемонстрируем на примере одного кредита.

Клиент «Иванов Иван Иванович».

Взял кредит «Простой» на сумму 500000 рублей наличными 30 января сего года.

26 февраля (последний рабочий день месяца) по кредиту были начислены проценты по кредиту в размере 6250 рублей (12я часть от годовой процентной ставки)

1 марта клиент выплатил 50000 рублей по кредиту.

Итоговая задолженность составляет 456250 рублей

На данном примере видно, что программа позволяет вести учет выдачи кредитов

Заключение и выводы

В ходе выполнения курсового проекты была разработана база данных для учета выдачи кредитов. Также было разработано приложение, обеспечивающее удобный интерфейс для работы с данной базой.

Для реализации поставленной задачи было использовано средство Microsoft Access 2007 входящее в пакет Microsoft Office. Были углублены навыки использования данного продукта, а также углублены знания по теории баз данных и программированию, в частности на языке VBA.


Список использованной литературы

 

  1. «Access 2007. Самоучитель с примерами» А. Гончаров Кудиц-образ 2008г 296с
  2. «Программирование на VBA в Microsoft Office 2007» Л. Слепцова              Вильямс 2007 432с
  3. «VBA. Эффективное использование» В. Кузьменко Бином               2008 624с
  4. «Базы данных» Эдуард Фуфаев, Дмитрий Фуфаев Academia 2009 320с
    Приложение

Листинг программного кода на VBA:

 

‘Form Главное меню

Option Compare Database

 

Private Sub bCluentList_Click()

  On Error GoTo Err_bCluentList_Click

  stDocName = "ClientList"

  DoCmd.OpenReport "ClientList", acViewPreview, "", "", acDialog

Exit_bCluentList_Click:

    Exit Sub

 

Err_bCluentList_Click:

    MsgBox Err.Description

    Resume Exit_bCluentList_Click

   

End Sub

Private Sub bClKred_Click()

On Error GoTo Err_bClKred_Click

    stDocName = "KlientKredit"

  DoCmd.OpenReport "KlientKredit", acViewPreview, "", "", acDialog

Exit_bClKred_Click:

    Exit Sub

 

Err_bClKred_Click:

    MsgBox Err.Description

    Resume Exit_bClKred_Click

   

End Sub

Private Sub bKrType_Click()

On Error GoTo Err_bKrType_Click

    stDocName = "KreditType"

    DoCmd.OpenReport "KreditType", acViewPreview, "", "", acDialog

Exit_bKrType_Click:

    Exit Sub

 

Err_bKrType_Click:

    MsgBox Err.Description

    Resume Exit_bKrType_Click

   

End Sub

Private Sub bKrOp_Click()

On Error GoTo Err_bKrOp_Click

    stDocName = "KrOperation"

    DoCmd.OpenReport "KrOperation", acViewPreview, "", "", acDialog

Exit_bKrOp_Click:

    Exit Sub

 

Err_bKrOp_Click:

    MsgBox Err.Description

    Resume Exit_bKrOp_Click

   

End Sub

Private Sub bClAdd_Click()

On Error GoTo Err_bClAdd_Click

 

    Dim stDocName As String

    Dim stLinkCriteria As String

 

    stDocName = "ClientAdd"

    DoCmd.OpenForm stDocName, acNormal, , stLinkCriteria, acFormAdd, acDialog

 

Exit_bClAdd_Click:

   

    Exit Sub

 

Err_bClAdd_Click:

    MsgBox Err.Description

    Resume Exit_bClAdd_Click

   

End Sub

Private Sub bKrAdd_Click()

On Error GoTo Err_bKrAdd_Click

 

    Dim stDocName As String

    Dim stLinkCriteria As String

 

    stDocName = "KreditAdd"

    DoCmd.OpenForm stDocName, acNormal, , stLinkCriteria, acFormAdd, acDialog

 

Exit_bKrAdd_Click:

    Exit Sub

 

Err_bKrAdd_Click:

    MsgBox Err.Description

    Resume Exit_bKrAdd_Click

   

End Sub

Private Sub bOpAdd_Click()

On Error GoTo Err_bOpAdd_Click

 

    Dim stDocName As String

    Dim stLinkCriteria As String

 

    stDocName = "OperationAdd"

    DoCmd.OpenForm stDocName, acNormal, , stLinkCriteria, acFormAdd, acDialog

 

Exit_bOpAdd_Click:

    Exit Sub

 

Err_bOpAdd_Click:

    MsgBox Err.Description

    Resume Exit_bOpAdd_Click

   

End Sub

Private Sub bProcent_Click()

On Error GoTo Err_bProcent_Click

 

    Dim stDocName As String

    Dim stLinkCriteria As String

 

    stDocName = "Procent"

    DoCmd.OpenForm stDocName, acNormal, , stLinkCriteria, acFormAdd, acDialog

 

Exit_bProcent_Click:

    Exit Sub

 

Err_bProcent_Click:

    MsgBox Err.Description

    Resume Exit_bProcent_Click

   

End Sub

 

 

‘Form ClientAdd

Option Compare Database

 

Private Sub bAdd_Click()

On Error GoTo Err_bAdd_Click

 

 

    DoCmd.GoToRecord , , acNewRec

 

Exit_bAdd_Click:

    Exit Sub

 

Err_bAdd_Click:

    MsgBox Err.Description

    Resume Exit_bAdd_Click

   

End Sub

Private Sub bClose_Click()

On Error GoTo Err_bClose_Click

 

 

    If Me.Dirty Then Me.Dirty = False

    DoCmd.Close

 

Exit_bClose_Click:

    Exit Sub

 

Err_bClose_Click:

    MsgBox Err.Description

    Resume Exit_bClose_Click

   

End Sub

 

'Form KreditAdd

Option Compare Database

Private save As Boolean

Private Sub bAdd_Click()

  save = True

On Error GoTo Err_bAdd_Click

  Dim s As String

    s = "Insert into Operation (IDkr, OpDate, Sum) values (" + Str(Код) + ", '" + Format(KrDate, "dd.mm.yyyy") + "', " + Str(Sum) + ")"

    DoCmd.GoToRecord , , acNewRec

    DoCmd.SetWarnings False

    DoCmd.RunSQL s

    DoCmd.SetWarnings True

Exit_bAdd_Click:

  save = False

    Exit Sub

 

Err_bAdd_Click:

    MsgBox Err.Description

    Resume Exit_bAdd_Click

   

End Sub

 

 

Private Sub Form_BeforeUpdate(Cancel As Integer)

  If save = False Then

    DoCmd.CancelEvent

  End If

End Sub

 

Private Sub Form_Load()

  save = False

End Sub

 

Private Sub IDcl_AfterUpdate()

  Dim res As Recordset

  Set res = CurrentDb.OpenRecordset("SELECT Код FROM Client")

  res.MoveFirst

  Dim b As Boolean

  b = False

  Do While Not res.EOF

    If res!Код = IDcl Then

      b = True

      Exit Do

    End If

    res.MoveNext

  Loop

  If b = False Then

    MsgBox "Клиент с таким кодом не существует"

    res.MoveFirst

    IDcl.Value = res!Код

  End If

End Sub

 

Private Sub IDkrt_AfterUpdate()

  Dim res As Recordset

  Set res = CurrentDb.OpenRecordset("SELECT Код, MaxSum FROM KreditType")

  Dim b As Boolean

  b = False

  res.MoveFirst

  Do While Not res.EOF

    If res!Код = IDkrt Then

      b = True

      Exit Do

    End If

    res.MoveNext

  Loop

  If b = False Then

    MsgBox "Кредит с таким кодом не существует"

    res.MoveFirst

    IDkrt.Value = res!Код

  End If

 

  res.MoveFirst

  Do While Not res.EOF

    If (res!Код = IDkrt) And (res!MaxSum <= Sum.Value) Then

      MsgBox "сумма слишком велика"

      Sum.Value = res!MaxSum

      Exit Do

    End If

    res.MoveNext

  Loop

End Sub

 

Private Sub Sum_AfterUpdate()

  Dim res As Recordset

  Set res = CurrentDb.OpenRecordset("SELECT Код, MaxSum FROM KreditType")

  res.MoveFirst

  Do While Not res.EOF

    If (res!Код = IDkrt) And (res!MaxSum <= Sum.Value) Then

      MsgBox "сумма слишком велика"

      Sum.Value = res!MaxSum

      Exit Do

    End If

    res.MoveNext

  Loop

End Sub

 

‘Form OperationAdd

Option Compare Database

Private save As Boolean

 

Private Sub bAdd_Click()

  save = True

On Error GoTo Err_bAdd_Click

 

 

    DoCmd.GoToRecord , , acNewRec

 

Exit_bAdd_Click:

  save = False

    Exit Sub

 

Err_bAdd_Click:

    MsgBox Err.Description

    Resume Exit_bAdd_Click

   

End Sub

Private Sub bClose_Click()

On Error GoTo Err_bClose_Click

 

 

    If Me.Dirty Then Me.Dirty = False

    DoCmd.Close

 

Exit_bClose_Click:

    Exit Sub

 

Err_bClose_Click:

    MsgBox Err.Description

    Resume Exit_bClose_Click

   

End Sub

 

Private Sub Form_BeforeUpdate(Cancel As Integer)

  If save = False Then

    DoCmd.CancelEvent

  Else

    Sum.Value = Sum.Value * (-1)

  End If

End Sub

 

Private Sub IDkr_AfterUpdate()

  Dim res As Recordset

  Set res = CurrentDb.OpenRecordset("SELECT Код FROM Kredit")

  res.MoveFirst

  Dim b As Boolean

  b = False

  Do While Not res.EOF

    If res!Код = IDkr Then

      b = True

      Exit Do

    End If

    res.MoveNext

  Loop

  If b = False Then

    MsgBox "Кредит с таким кодом не существует"

    res.MoveFirst

    IDkr.Value = res!Код

  End If

End Sub

 

Private Sub Sum_AfterUpdate()

  Dim res As Recordset

  Set res = CurrentDb.OpenRecordset("SELECT Operation.Idkr, Sum(Operation.Sum) AS KrSum FROM Operation GROUP BY Operation.Idkr")

  res.MoveFirst

  Do While Not res.EOF

    If (res!IDkr = IDkr) And (res!KrSum - Sum.Value < 0) Then

      MsgBox "сумма выплаты превышает задолженность"

      Sum.Value = res!KrSum

      Exit Do

    End If

    res.MoveNext

  Loop

End Sub

 

‘Form procent

Option Compare Database

 

Private save As Boolean

 

Private Sub bSave_Click()

  save = True

On Error GoTo Err_bSave_Click

 

 

    DoCmd.GoToRecord , , acNewRec

 

Exit_bSave_Click:

  save = False

    Exit Sub

 

Err_bSave_Click:

    MsgBox Err.Description

    Resume Exit_bSave_Click

   

End Sub

 

 

Private Sub Form_BeforeUpdate(Cancel As Integer)

  If save = False Then

    DoCmd.CancelEvent

  End If

End Sub

 

Private Sub Form_Load()

  save = False

End Sub

 

Private Sub IDkr_AfterUpdate()

  Dim res As Recordset

  Set res = CurrentDb.OpenRecordset("SELECT Код FROM Kredit")

  res.MoveFirst

  Dim b As Boolean

  b = False

  Do While Not res.EOF

    If res!Код = IDkr Then

      b = True

      Exit Do

    End If

    res.MoveNext

  Loop

  If b = False Then

    MsgBox "Кредит с таким кодом не существует"

    res.MoveFirst

    IDkr.Value = res!Код

  End If

 

  Set res = CurrentDb.OpenRecordset("SELECT Sum(Operation.Sum) AS sum, KreditType.Procent FROM Operation, kredit, KreditType WHERE Operation.IDkr = " + Str(IDkr.Value) + " AND Kredit.IDkrt = KreditType.Код AND Operation.IDkr = Kredit.Код GROUP BY Operation.IDkr, KreditType.Procent")

  res.MoveFirst

  Sum.Value = res!Sum * res!Procent / (12 * 100)

End Sub



Информация о работе Проектирование информационных систем