Автор работы: Пользователь скрыл имя, 19 Марта 2012 в 10:19, курсовая работа
Разработка программы учета выдачи кредитов требует создания базы данных, а также приложения, для удобной работы с данной базой. Возможность реализовать обе эти составляющие предоставляет программа Access из пакета Microsoft Office. Она проста для понимания, и разработка приложения не затруднит даже мало опытного пользователя. В тоже время она предоставляем мощный функционал, с помощью которого опытный программис может создавать полнофункциональные приложения с удобным интерфейсом.
Введение.
Постановка задачи. Описание экономической сущности задачи.
Математическая формулировка задачи и уточнение формы представления исходных данных
Выбор метода обработки информации.
Реализация задачи в среде ACCESS. Построение таблиц, запросов, форм, отчетов. Разработка интерфейса.
Результаты проведенных расчетов и их анализ.
Заключение и выводы
Список использованной литературы
Проценты (Procent) – позволяет зарегистрировать начисление процентов по кредиту. При вводе кода кредита величина процентов вычисляется автоматически.
Также в приложении присутствует форма главного меню программы, предоставляющая интерфейс для вызова вышеописанных функций.
Форма главного меню открывается сразу после открытия файла базы данных в приложении MS Access.
Результаты продемонстрируем на примере одного кредита.
Клиент «Иванов Иван Иванович».
Взял кредит «Простой» на сумму 500000 рублей наличными 30 января сего года.
26 февраля (последний рабочий день месяца) по кредиту были начислены проценты по кредиту в размере 6250 рублей (12я часть от годовой процентной ставки)
1 марта клиент выплатил 50000 рублей по кредиту.
Итоговая задолженность составляет 456250 рублей
На данном примере видно, что программа позволяет вести учет выдачи кредитов
В ходе выполнения курсового проекты была разработана база данных для учета выдачи кредитов. Также было разработано приложение, обеспечивающее удобный интерфейс для работы с данной базой.
Для реализации поставленной задачи было использовано средство Microsoft Access 2007 входящее в пакет Microsoft Office. Были углублены навыки использования данного продукта, а также углублены знания по теории баз данных и программированию, в частности на языке VBA.
Листинг программного кода на 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("
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("
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("
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("
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("
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("
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("
res.MoveFirst
Sum.Value = res!Sum * res!Procent / (12 * 100)
End Sub