Автор работы: Пользователь скрыл имя, 10 Ноября 2013 в 22:25, курсовая работа
Целью данной курсовой работы является разработка приложения, обеспечивающего работу банка и его клиентов с пластиковыми карточками (в частности, реализована идея работы банкомата, а также бухгалтерии). В ходе выполнения курсовой работы должны быть закреплены навыки работы с объектами Access (таблицы, запросы, формы, отчеты, макросы), а также с универсальным языком приложений Microsoft Office – VBA. В курсовой работе будут описаны основные этапы создания БД, а также описаны все возможности созданной БД. Будет применено процессное проектирование.
ВВЕДЕНИЕ 3
СОЗДАНИЕ БАЗЫ ДАННЫХ: 5
Этап 1. Определение задач 5
Этап 2. Определение последовательности выполнения задач 6
Этап 3. Определение элементов данных. 6
Этап 4. Упорядочивание данных 11
Этап 5. Разработка прототипа и пользовательского интерфейса 12
Этап 6. Создание приложения 12
Этап 7. Тестирование и доводка 13
А) БУХГАЛТЕРИЯ 14
Б) ВИРТУАЛЬНЫЙ БАНКОМАТ 26
ЗАКЛЮЧЕНИЕ 35
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 36
ПРИЛОЖЕНИЕ 1 (ТЕКСТЫ ПРОГРАММ НА VBA) 37
ПРИЛОЖЕНИЕ 2 (ОБЪЕКТЫ (ЗАПРОСЫ И МАКРОСЫ) В РЕЖИМЕ КОНСТРУКТОРА) 63
Exit Sub
Кнопка5_Click_Err:
MsgBox Error$
Resume Кнопка5_Click_Exit
End Sub
Option Compare Database
'выход
Private Sub Выход_Click()
DoCmd.Close acForm, "Форма_Добавить_Карту", acSaveYes
DoCmd.OpenForm "Форма_Операции_с_клиентами", acNormal, "", "", , acNormal
End Sub
Private Sub Добавить_Click()
Dim rec1 As DAO.Recordset
Dim rec2 As DAO.Recordset
Dim rec3 As DAO.Recordset
Dim KodKarta As Integer
If (Eval("[Forms]![Форма_
MsgBox "Введите соответствующие данные"
Exit Sub
End If
Set rec1 = CurrentDb.OpenRecordset("
"FROM Клиент_Общая_Инфо " & _
" WHERE (Клиент_Общая_Инфо.
If rec1.EOF Then
MsgBox "Такоко клиента еще не существует, необходимо внести данные о клиенте"
DoCmd.Close acForm, "Форма_Добавить_Карту", acSaveYes
DoCmd.OpenForm "Форма_Добавить_Клиента", acNormal, "", "", , acNormal
Exit Sub
End If
Set rec2 = CurrentDb.OpenRecordset("Клиен
rec2.AddNew
rec2![НомерКарты] = Me![НомерКарты]
rec2![ДатаВыдачи] = Date
rec2![ДатаОкончания] = DateAdd("yyyy", 5, Date)
rec2![Пин] = Me![ПинКод]
rec2![Состояние] = 0
KodKarta = rec2![КодКарты]
rec2.Update
Set rec3 = CurrentDb.OpenRecordset("
rec3.AddNew
rec3![КодКлиента] = rec1![КодКлиента]
rec3![КодКарты] = KodKarta
rec3![ТекущийСчет] = 0
rec3.Update
MsgBox "Текущему клиенту успешно добавлена новая карта"
[Forms]![Форма_Добавить_Карту]
[Forms]![Форма_Добавить_Карту]
[Forms]![Форма_Добавить_Карту]
DoCmd.RepaintObject acForm, "Форма_Добавить_Карту"
End Sub
Option Compare Database
'выход
Private Sub Выход_Click()
DoCmd.Close acForm, "Форма_Добавить_Клиента", acSaveYes
DoCmd.OpenForm "Форма_Операции_с_клиентами", acNormal, "", "", , acNormal
End Sub
'кнопка добавить клиента
Private Sub Добавить_Click()
Dim rst As Recordset
Set db = CurrentDb
Dim KodKlienta As Integer
Dim KodKarta As Integer
If (Eval("[Forms]![Форма_
MsgBox "Обязательно необходимо
ввести фамилию, имя, отчество,
номер пасспорта, девичью
Exit Sub
End If
Set rst = db.OpenRecordset("Клиент_
rst.AddNew
rst![Фамилия] = Me![Фамилия]
rst![Имя] = Me![Имя]
rst![Отчество] = Me![Отчество]
rst![ДатаРождения] = Me![ДатаРождения]
rst![Пол] = Me![Пол]
rst![НомерПасспорта] = Me![НомерПасспорта]
rst![ЛичныйНомер] = Me![ЛичныйНомер]
rst![СтранаПроживания] = Me![СтранаПроживания]
rst![ПочтовыйИндекс] = Me![Индекс]
rst![ГородПроживания] = Me![ГородПроживания]
rst![УлицаПроживания] = Me![УлицаПроживания]
rst![ДомПроживания] = Me![ДомПроживания]
rst![КорпусПроживания] = Me![КорпусПроживания]
rst![КвартираПроживания] = Me![КвартираПроживания]
rst![ДомашнийТелефон] = Me![ДомашнийТелефон]
rst![МобильныйТелефон] = Me![МобильныйТелефон]
rst![ДевичьяФамилия] = Me![ДевичьяФамилия]
KodKlienta = rst![КодКлиента]
rst.Update
Set rst = db.OpenRecordset("Клиент_
rst.AddNew
rst![НомерКарты] = Me![НомерКарты]
rst![ДатаВыдачи] = Date
rst![ДатаОкончания] = DateAdd("yyyy", 5, Date)
rst![Пин] = Me![Пин]
rst![Состояние] = 0
KodKarta = rst![КодКарты]
rst.Update
Set rst = db.OpenRecordset("Клиент_
rst.AddNew
rst![КодКлиента] = KodKlienta
rst![КодКарты] = KodKarta
rst![ТекущийСчет] = Me![ТекущийСчет]
rst.Update
MsgBox "Информация о клиенте успешно добавлена, сейчас будет распечатан договор"
Set rst = db.OpenRecordset("Клиент_
rst.MoveLast
DoCmd.OpenReport "Отчет_Договор", acViewPreview, _
"", _
"КодКлиента= " & rst![КодКлиента] & " ", acNormal
Me![Фамилия] = Null
Me![Имя] = Null
Me![Отчество] = Null
Me![ДатаРождения] = Null
Me![Пол] = Null
Me![НомерПасспорта] = Null
Me![ЛичныйНомер] = Null
Me![СтранаПроживания] = Null
Me![Индекс] = Null
Me![ГородПроживания] = Null
Me![УлицаПроживания] = Null
Me![ДомПроживания] = Null
Me![КорпусПроживания] = Null
Me![КвартираПроживания] = Null
Me![ДомашнийТелефон] = Null
Me![МобильныйТелефон] = Null
Me![ДевичьяФамилия] = Null
Me![НомерКарты] = Null
Me![Пин] = Null
Me![ТекущийСчет] = Null
DoCmd.RepaintObject acForm, "Форма_Добавить_Клиента"
End Sub
Option Compare Database
'-----------------------------
' Выход_Click
'
'-----------------------------
Private Sub Выход_Click()
On Error GoTo Выход_Click_Err
DoCmd.Close acForm, "Форма_Инфо_О_Клиенте"
DoCmd.OpenForm "Форма_Операции_с_клиентами", acNormal, "", "", , acNormal
Выход_Click_Exit:
Exit Sub
Выход_Click_Err:
MsgBox Error$
Resume Выход_Click_Exit
End Sub
Private Sub Кнопка50_Click()
If (Eval("Forms![Форма_Инфо_О_
MsgBox "Введите фамилию для поиска"
Exit Sub
End If
DoCmd.GoToControl "Фамилия"
DoCmd.FindRecord Me![Параметр]
Me![Параметр] = Null
End Sub
Option Compare Database
Private Sub Выход_Click()
DoCmd.Close acForm, "Форма_Курсы_Валют", acSaveYes
DoCmd.OpenForm "Форма_Операции_с_клиентами", acNormal, "", "", , acNormal
End Sub
Private Sub УстановкаКурса_Click()
Dim rst As DAO.Recordset
If (Eval("Forms![Форма_Курсы_
MsgBox "Введите соответствующие данные"
Exit Sub
End If
Set rst = CurrentDb.OpenRecordset("
If rst.EOF Then
rst.AddNew
rst![ДолларСША] = Me![Доллар]
rst![ЕВРО] = Me![ЕВРО]
rst.Update
Else
rst.MoveFirst
rst.Edit
rst![ДолларСША] = Me![Доллар]
rst![ЕВРО] = Me![ЕВРО]
rst.Update
End If
MsgBox "Новый курс успешно задан"
Forms![Форма_Курсы_Валют]![
Forms![Форма_Курсы_Валют]![
DoCmd.RepaintObject acForm, "Форма_Курсы_Валют"
End Sub
Option Compare Database
'-----------------------------
' Кнопка6_Click
'
'-----------------------------
Private Sub Кнопка6_Click()
On Error GoTo Кнопка6_Click_Err
Dim rst As Recordset
Dim rec1 As Recordset
Set db = CurrentDb
If (Eval("[Forms]![Форма_
MsgBox "Введите соответствующие данные"
Exit Sub
End If
Set rst = db.OpenRecordset("Начисление")
rst.AddNew
rst![НомерКарты] = [Forms]![Форма_начисление_
rst![Сумма] = Me![Сумма_денег]
rst![Дата] = Date
rst![Время] = Time()
rst.Update
Set rec1 = CurrentDb.OpenRecordset("
" FROM Клиент_Карта INNER JOIN Клиент_Финансы ON Клиент_Карта.КодКарты = Клиент_Финансы.КодКарты" & _
" WHERE (Клиент_Карта.НомерКарты)=
" & [Forms]![Форма_начисление_
rec1.Edit
rec1![ТекущийСчет] = rec1![ТекущийСчет] + Me![Сумма_денег]
rec1.Update
MsgBox "Сумма была успешно начислена"
[Forms]![Форма_начисление_
[Forms]![Форма_начисление_
DoCmd.RepaintObject acForm, "Форма_начисление_денег"
Кнопка6_Click_Exit:
Exit Sub
Кнопка6_Click_Err:
MsgBox "Такой карты не существует"
[Forms]![Форма_начисление_
[Forms]![Форма_начисление_
DoCmd.RepaintObject acForm, "Форма_начисление_денег"
Resume Кнопка6_Click_Exit
End Sub
'-----------------------------
' Кнопка7_Click
'
'-----------------------------
Private Sub Кнопка7_Click()
On Error GoTo Кнопка7_Click_Err
DoCmd.Close acForm, "Форма_начисление_денег"
DoCmd.OpenForm "Форма_Операции_с_клиентами", acNormal, "", "", , acNormal
Кнопка7_Click_Exit:
Exit Sub
Кнопка7_Click_Err:
MsgBox Error$
Resume Кнопка7_Click_Exit
End Sub
Option Compare Database
'кнопка добавить карту
Private Sub Добавить_карту_Click()
DoCmd.OpenForm "Форма_Добавить_Карту", acNormal, "", "", , acNormal
DoCmd.Close acForm, "Форма_Операции_с_клиентами", acSaveYes
End Sub
'кнопка установить курсы валют
Private Sub Курсы_Click()
DoCmd.OpenForm "Форма_Курсы_Валют", acNormal, "", "", , acNormal
DoCmd.Close acForm, "Форма_Операции_с_клиентами", acSaveYes
End Sub
'-----------------------------
' Просмотр_Информации_О_Клиенте_
'
'-----------------------------
Private Sub Просмотр_Информации_О_Клиенте_
On Error GoTo Просмотр_Информации_О_Клиенте_
DoCmd.OpenForm "Форма_Инфо_О_Клиенте", acNormal, "", "", , acNormal
DoCmd.Close acForm, "Форма_Операции_с_клиентами", acSaveYes
Просмотр_Информации_О_Клиенте_
Exit Sub
Просмотр_Информации_О_Клиенте_
MsgBox Error$
Resume Просмотр_Информации_О_Клиенте_
End Sub
'-----------------------------
' Добавить_клиента_Click
'
'-----------------------------
Private Sub Добавить_клиента_Click()
On Error GoTo Добавить_клиента_Click_Err
DoCmd.OpenForm "Форма_Добавить_Клиента", acNormal, "", "", acEdit, acNormal
DoCmd.Close acForm, "Форма_Операции_с_клиентами", acSaveYes
Добавить_клиента_Click_Exit:
Exit Sub
Добавить_клиента_Click_Err:
MsgBox Error$
Resume Добавить_клиента_Click_Exit
End Sub
'-----------------------------
' Начисление_денег_Click
'
'-----------------------------
Private Sub Начисление_денег_Click()
On Error GoTo Начисление_денег_Click_Err
DoCmd.OpenForm "Форма_начисление_денег", acNormal, "", "", , acNormal
DoCmd.Close acForm, "Форма_Операции_с_клиентами", acSaveYes
Начисление_денег_Click_Exit:
Exit Sub
Начисление_денег_Click_Err:
MsgBox Error$
Resume Начисление_денег_Click_Exit
End Sub
'-----------------------------
' Кнопка выход
'
'-----------------------------
Private Sub Кнопка5_Click()
On Error GoTo Кнопка5_Click_Err
DoCmd.Close acForm, "Форма_Операции_с_клиентами"
DoCmd.OpenForm "Форма_Основа", acNormal, "", "", , acNormal
Кнопка5_Click_Exit:
Exit Sub
Кнопка5_Click_Err:
MsgBox Error$
Resume Кнопка5_Click_Exit
End Sub
'-----------------------------
' Редактирование_Click
'
'-----------------------------
Private Sub Редактирование_Click()
On Error GoTo Редактирование_Click_Err
DoCmd.OpenForm "Форма_Редактирование_Клиента"
DoCmd.Close acForm, "Форма_Операции_с_клиентами", acSaveYes
Редактирование_Click_Exit:
Exit Sub
Редактирование_Click_Err:
MsgBox Error$
Resume Редактирование_Click_Exit
End Sub
'кнопка транзакции с картой
Private Sub ТранзакцииКарта_Click()
DoCmd.OpenForm "Форма_Транзакции_Деньги", acNormal, "", "", , acNormal
DoCmd.Close acForm, "Форма_Операции_с_клиентами", acSaveYes
End Sub
'кнопка транзакции с начислением денег
Private Sub ТранзакцииНачисление_Click()
DoCmd.OpenForm "Форма_Транзакции_Начисление", acNormal, "", "", , acNormal
DoCmd.Close acForm, "Форма_Операции_с_клиентами", acSaveYes
End Sub
'кнопка транзакции с телефоном
Private Sub ТранзакцииТелефон_Click()
DoCmd.OpenForm "Форма_транзакции", acNormal, "", "", , acNormal
DoCmd.Close acForm, "Форма_Операции_с_клиентами", acSaveYes
End Sub