Система управления работой банка с пластиковыми карточками (бухгалтерии и вируального банкомата)

Автор работы: Пользователь скрыл имя, 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

Файлы: 1 файл

Курсовая работа.doc

— 1.27 Мб (Скачать файл)

    Exit Sub

 

Кнопка5_Click_Err:

    MsgBox Error$

    Resume Кнопка5_Click_Exit

 

End Sub

 

  1. “Форма_Добавить_Карту”

 

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]![Форма_Добавить_Карту]![НомерПасспорта] Is Null") Or Eval("[Forms]![Форма_Добавить_Карту]![НомерКарты] Is Null") Or Eval("[Forms]![Форма_Добавить_Карту]![ПинКод] Is Null")) Then

MsgBox "Введите соответствующие  данные"

Exit Sub

End If

 

Set rec1 = CurrentDb.OpenRecordset("SELECT Клиент_Общая_Инфо.КодКлиента " & _

"FROM Клиент_Общая_Инфо " & _

" WHERE (Клиент_Общая_Инфо.НомерПасспорта)= '" & [Forms]![Форма_Добавить_Карту]![НомерПасспорта] & "' ")

 

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]![Форма_Добавить_Карту]![НомерПасспорта] = Null

[Forms]![Форма_Добавить_Карту]![НомерКарты] = Null

[Forms]![Форма_Добавить_Карту]![ПинКод] = Null

DoCmd.RepaintObject acForm, "Форма_Добавить_Карту"

End Sub

  1. “Форма_Добавить_клиента”

 

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]![Форма_Добавить_Клиента]![НомерКарты] Is Null") Or Eval("[Forms]![Форма_Добавить_Клиента]![Пин] Is Null") Or Eval("[Forms]![Форма_Добавить_Клиента]![Фамилия] Is Null") Or Eval("[Forms]![Форма_Добавить_Клиента]![Имя] Is Null") Or Eval("[Forms]![Форма_Добавить_Клиента]![Отчество] Is Null") Or Eval("[Forms]![Форма_Добавить_Клиента]![НомерПасспорта] Is Null") Or Eval("[Forms]![Форма_Добавить_Клиента]![ДевичьяФамилия] Is Null")) Then

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

 

 

  1. “Форма_Инфо_О_Клиенте”

 

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![Форма_Инфо_О_Клиенте]![Параметр] Is Null")) Then

MsgBox "Введите фамилию для поиска"

Exit Sub

End If

 

DoCmd.GoToControl "Фамилия"

DoCmd.FindRecord Me![Параметр]

Me![Параметр] = Null

End Sub

 

  1. “Форма_Курсы_Валют”

 

 

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![Форма_Курсы_Валют]![Доллар] Is Null") Or Eval("Forms![Форма_Курсы_Валют]![Евро]Is Null")) Then

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![Форма_Курсы_Валют]![Доллар] = Null

Forms![Форма_Курсы_Валют]![ЕВРО] = Null

DoCmd.RepaintObject acForm, "Форма_Курсы_Валют"

 

 

End Sub

 

 

 

 

  1. “Форма_начисление_денег”

 

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]![Форма_начисление_денег]![Номер_карты] Is Null") Or Eval("[Forms]![Форма_начисление_денег]![Сумма_денег] Is Null")) Then

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("SELECT Клиент_Карта.НомерКарты, Клиент_Финансы.ТекущийСчет " & _

" FROM Клиент_Карта INNER JOIN Клиент_Финансы ON Клиент_Карта.КодКарты = Клиент_Финансы.КодКарты" & _

" WHERE (Клиент_Карта.НомерКарты)=  " & [Forms]![Форма_начисление_денег]![Номер_карты] & " ;")

   

    rec1.Edit

    rec1![ТекущийСчет] = rec1![ТекущийСчет] + Me![Сумма_денег]

    rec1.Update

       

MsgBox "Сумма была  успешно начислена"

 

  [Forms]![Форма_начисление_денег]![Номер_карты] = Null

  [Forms]![Форма_начисление_денег]![Сумма_денег] = Null

  DoCmd.RepaintObject acForm, "Форма_начисление_денег"

 

Кнопка6_Click_Exit:

    Exit Sub

 

Кнопка6_Click_Err:

    MsgBox "Такой карты не существует"

     [Forms]![Форма_начисление_денег]![Номер_карты] = Null

    [Forms]![Форма_начисление_денег]![Сумма_денег] = Null

    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

 

  1. “Форма_Операции_с_клиентами”

 

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

 

'------------------------------------------------------------

' Просмотр_Информации_О_Клиенте_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

 

 

'------------------------------------------------------------

' Добавить_клиента_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 "Форма_Редактирование_Клиента", acNormal, "", "", , acNormal

    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

Информация о работе Система управления работой банка с пластиковыми карточками (бухгалтерии и вируального банкомата)