Автор работы: Пользователь скрыл имя, 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
End If
If (Forms!Форма_Основа!Группа1 = 1 And 321 = Forms!Форма_Основа!Пароль) Then
DoCmd.OpenForm "Форма_Операции_с_клиентами", acNormal, "", "", , acNormal
End If
DoCmd.Close acForm, "Форма_Основа", acSaveYes
Кнопка6_Click_Exit:
Exit Sub
Кнопка6_Click_Err:
MsgBox Error$
Resume Кнопка6_Click_Exit
End Sub
'-----------------------------
' Выход_Click
'
'-----------------------------
Private Sub Выход_Click()
On Error GoTo Выход_Click_Err
MsgBox "Спасибо за
работу с нашей программой, по
всем техническим вопросам
DoCmd.Quit acSave
Выход_Click_Exit:
Exit Sub
Выход_Click_Err:
MsgBox Error$
Resume Выход_Click_Exit
End Sub
Option Compare Database
'-----------------------------
' Пин_Далее_Click
'
'-----------------------------
Private Sub Пин_Далее_Click()
On Error GoTo Пин_Далее_Click_Err
Dim rec1 As DAO.Recordset
Dim Pin As Integer
Dim Pin2 As Integer
Set rec1 = CurrentDb.OpenRecordset("
"FROM Клиент_Карта " & _
" WHERE (Клиент_Карта.НомерКарты)= " & Forms![Форма_Пин]![НомерКарты] & ";")
Pin = rec1![Пин]
Pin2 = Me![Пин_Код]
If (Pin <> Pin2) Then
MsgBox "Вы ввели неправильный пин, у Вас осталось 2 попытки"
DoCmd.OpenForm "Форма_Пин_2", acNormal, "", "", , acNormal
Forms![Форма_Пин_2]![
DoCmd.Close acForm, "Форма_Пин", acSaveYes
Exit Sub
End If
If rec1![ДатаОкончания] < Date Then
MsgBox "Срок действия Вашей карты истек, замените ее на новую"
DoCmd.Close acForm, "Форма_Пин", acSaveYes
DoCmd.OpenForm "Форма_Основа", acNormal, "", "", , acNormal
Exit Sub
End If
If rec1![Состояние] = -1 Then
MsgBox "Ваша карта заблокирована"
DoCmd.Close acForm, "Форма_Пин", acSaveYes
DoCmd.OpenForm "Форма_Основа", acNormal, "", "", , acNormal
Exit Sub
End If
DoCmd.OpenForm "Форма_Тип_Операции", acNormal, "", "", , acNormal
Forms![Форма_Тип_Операции]![
DoCmd.Close acForm, "Форма_Пин", acSaveYes
Пин_Далее_Click_Exit:
Exit Sub
Пин_Далее_Click_Err:
MsgBox "Введите пин код"
Resume Пин_Далее_Click_Exit
End Sub
'-----------------------------
' Пин_Отмена_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
Option Compare Database
'-----------------------------
' Пин_Далее_Click
'
'-----------------------------
Private Sub Пин_Далее_Click()
On Error GoTo Пин_Далее_Click_Err
Dim rec1 As DAO.Recordset
Dim Pin As Integer
Dim Pin2 As Integer
Set rec1 = CurrentDb.OpenRecordset("
"FROM Клиент_Карта " & _
" WHERE (Клиент_Карта.НомерКарты)=
" & Forms![Форма_Пин_2]![
Pin = rec1![Пин]
Pin2 = Me![Пин_Код_2]
If (Pin <> Pin2) Then
MsgBox "Вы ввели неправильный пин, у Вас осталось 1 попытка"
DoCmd.OpenForm "Форма_Пин_3", acNormal, "", "", , acNormal
Forms![Форма_Пин_3]![
DoCmd.Close acForm, "Форма_Пин_2", acSaveYes
Exit Sub
End If
If rec1![ДатаОкончания] < Date Then
MsgBox "Срок действия Вашей карты истек, замените ее на новую"
DoCmd.Close acForm, "Форма_Пин_2"
DoCmd.OpenForm "Форма_Основа", acNormal, "", "", , acNormal
Exit Sub
End If
If rec1![Состояние] = -1 Then
MsgBox "Ваша карта заблокирована"
DoCmd.Close acForm, "Форма_Пин_2"
DoCmd.OpenForm "Форма_Основа", acNormal, "", "", , acNormal
Exit Sub
End If
DoCmd.OpenForm "Форма_Тип_Операции", acNormal, "", "", , acNormal
Forms![Форма_Тип_Операции]![
DoCmd.Close acForm, "Форма_Пин_2", acSaveYes
Пин_Далее_Click_Exit:
Exit Sub
Пин_Далее_Click_Err:
MsgBox "Введите пин код"
Resume Пин_Далее_Click_Exit
End Sub
'-----------------------------
' Пин_Отмена_Click
'
'-----------------------------
Private Sub Пин_Отмена_Click()
On Error GoTo Пин_Отмена_Click_Err
DoCmd.Close acForm, "Форма_Пин_2"
DoCmd.OpenForm "Форма_Основа", acNormal, "", "", , acNormal
Пин_Отмена_Click_Exit:
Exit Sub
Пин_Отмена_Click_Err:
MsgBox Error$
Resume Пин_Отмена_Click_Exit
End Sub
Option Compare Database
'-----------------------------
' Пин_Далее_Click
'
'-----------------------------
Private Sub Пин_Далее_Click()
On Error GoTo Пин_Далее_Click_Err
Dim rec1 As DAO.Recordset
Dim Pin As Integer
Dim Pin2 As Integer
Set rec1 = CurrentDb.OpenRecordset("
"FROM Клиент_Карта " & _
" WHERE (Клиент_Карта.НомерКарты)=
" & Forms![Форма_Пин_3]![
Pin = rec1![Пин]
Pin2 = Me![Пин_Код_3]
If (Pin <> Pin2) Then
MsgBox "Вы ввели неправильный пин, Вы не можете продолжать дальше, ваша карта заблокирована"
Set rec1 = CurrentDb.OpenRecordset("
"FROM Клиент_Карта " & _
" WHERE (Клиент_Карта.НомерКарты)=
" & Forms![Форма_Пин_3]![
rec1.Edit
rec1![Состояние] = -1
rec1.Update
DoCmd.Close acForm, "Форма_Пин_3", acSaveYes
DoCmd.OpenForm "Форма_Основа", acNormal, "", "", , acNormal
Exit Sub
End If
If rec1![ДатаОкончания] < Date Then
MsgBox "Срок действия Вашей карты истек, замените ее на новую"
DoCmd.Close acForm, "Форма_Пин_3", acSaveYes
DoCmd.OpenForm "Форма_Основа", acNormal, "", "", , acNormal
Exit Sub
End If
If rec1![Состояние] = -1 Then
MsgBox "Ваша карта заблокирована"
DoCmd.Close acForm, "Форма_Пин_3", acSaveYes
DoCmd.OpenForm "Форма_Основа", acNormal, "", "", , acNormal
Exit Sub
End If
DoCmd.OpenForm "Форма_Тип_Операции", acNormal, "", "", , acNormal
Forms![Форма_Тип_Операции]![
DoCmd.Close acForm, "Форма_Пин_3", acSaveYes
Пин_Далее_Click_Exit:
Exit Sub
Пин_Далее_Click_Err:
MsgBox "Введите пин код"
Resume Пин_Далее_Click_Exit
End Sub
'-----------------------------
' Пин_Отмена_Click
'
'-----------------------------
Private Sub Пин_Отмена_Click()
On Error GoTo Пин_Отмена_Click_Err
DoCmd.Close acForm, "Форма_Пин_3"
DoCmd.OpenForm "Форма_Основа", acNormal, "", "", , acNormal
Пин_Отмена_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
Forms![Форма_Снятие_денег]![
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.Close acForm, "Форма_Тип_Операции"
DoCmd.OpenForm "Форма_Основа", acNormal, "", "", , acNormal
Выход_Click_Exit:
Exit Sub
Выход_Click_Err:
MsgBox Error$
Resume Выход_Click_Exit
End Sub
'-----------------------------
' Операции_Остаток_Click
'
'-----------------------------
Private Sub Операции_Остаток_Click()
On Error GoTo Операции_Остаток_Click_Err
Set db = CurrentDb
Dim rec1 As DAO.Recordset
DoCmd.OpenForm "Форма_Текущий_счет", acNormal, "", "", acReadOnly, acNormal
Set rec1 = CurrentDb.OpenRecordset("
" FROM Клиент_Карта INNER JOIN Клиент_Финансы ON Клиент_Карта.КодКарты = Клиент_Финансы.КодКарты" & _
" WHERE (Клиент_Карта.НомерКарты)= "
& Forms![Форма_Тип_Операции]![
Forms![Форма_Текущий_Счет]![
Forms![Форма_Текущий_Счет]![
DoCmd.Close acForm, "Форма_Тип_Операции", acSaveYes
Операции_Остаток_Click_Exit:
Exit Sub
Операции_Остаток_Click_Err:
MsgBox Error$
Resume Операции_Остаток_Click_Exit
End Sub
'-----------------------------
' Кнопка5_Click
'
'-----------------------------
Private Sub Кнопка5_Click()
On Error GoTo Кнопка5_Click_Err
DoCmd.OpenForm "Форма_операции_с_телефоном", acNormal, "", "", , acNormal
Forms![Форма_операции_с_
DoCmd.Close acForm, "Форма_Тип_Операции"
Кнопка5_Click_Exit: