Автор работы: Пользователь скрыл имя, 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
[Forms]![Форма_транзакции]![
[Forms]![Форма_транзакции]![
Forms!Форма_транзакции!Группа = Null
DoCmd.RepaintObject acForm, "Форма_транзакции"
End Sub
'выход
Private Sub Кнопка12_Click()
DoCmd.Close acForm, "Форма_транзакции", acSaveYes
DoCmd.OpenForm "Форма_Операции_с_клиентами", acNormal, "", "", , acNormal
End Sub
Option Compare Database
'-----------------------------
' Транзакция_Да_Click
'
'-----------------------------
Private Sub Транзакция_Да_Click()
On Error GoTo Транзакция_Да_Click_Err
DoCmd.OpenForm "Форма_Тип_Операции", acNormal, "", "", , acNormal
Forms![Форма_Тип_Операции]![
DoCmd.Close acForm, "Форма_транзакция"
Транзакция_Да_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
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
If (Eval("[Forms]![Форма_
MsgBox "Введите соответствующие данные"
Exit Sub
End If
Set rec1 = CurrentDb.OpenRecordset("
" FROM Клиент_Общая_Инфо INNER JOIN (Клиент_Карта INNER JOIN Клиент_Финансы ON Клиент_Карта.КодКарты = Клиент_Финансы.КодКарты) ON Клиент_Общая_Инфо.КодКлиента = Клиент_Финансы.КодКлиента" & _
" WHERE (Клиент_Карта.НомерКарты)=
" & Me![НомерКарты] & " And (Клиент_Общая_Инфо.ДевичьяФами
If rec1.EOF Then
MsgBox "Такой карты не существует"
[Forms]![Форма_Удаление_Карты]
[Forms]![Форма_Удаление_Карты]
DoCmd.RepaintObject acForm, "Форма_Удаление_Карты"
Exit Sub
End If
Set rec1 = CurrentDb.OpenRecordset("
"FROM Клиент_Карта " & _
" WHERE (Клиент_Карта.НомерКарты)= " & Me![НомерКарты] & ";")
Set rec2 = CurrentDb.OpenRecordset("
" FROM Клиент_Общая_Инфо INNER JOIN (Клиент_Карта INNER JOIN Клиент_Финансы ON Клиент_Карта.КодКарты = Клиент_Финансы.КодКарты) ON Клиент_Общая_Инфо.КодКлиента = Клиент_Финансы.КодКлиента" & _
" WHERE (Клиент_Карта.НомерКарты)=
" & Me![НомерКарты] & " And (Клиент_Общая_Инфо.
Set rec3 = CurrentDb.OpenRecordset("
" FROM Клиент_Финансы" & _
" WHERE КодКарты = " & rec2![КодКарты] & ";")
rec3.Delete
rec1.Delete
MsgBox "Запись успешно удалена"
[Forms]![Форма_Удаление_Карты]
[Forms]![Форма_Удаление_Карты]
DoCmd.RepaintObject acForm, "Форма_Удаление_Карты"
End Sub
Option Compare Database
'-----------------------------
' Чек_Да_Click
'
'-----------------------------
Private Sub Чек_Да_Click()
On Error GoTo Чек_Да_Click_Err
Dim rst As Recordset
Set db = CurrentDb
Set rst = db.OpenRecordset("Деньги")
rst.MoveLast
DoCmd.OpenReport "Отчет_Снятие_Денег", acViewPreview, _
"", _
"КодОперации= " & rst![КодОперации] & " ", acNormal
DoCmd.OpenForm "Форма_транзакция", acNormal, "", "", , acNormal
Forms![Форма_транзакция]![
DoCmd.Close acForm, "Форма_Чек_Деньги"
Чек_Да_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, "Форма_Чек_Деньги"
Чек_Нет_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 rst As Recordset
Set db = CurrentDb
Set rst = db.OpenRecordset("Мобильник")
rst.MoveLast
DoCmd.OpenReport "Отчет_Деньги_Телефон", acViewPreview, _
"", _
"КодОперации= " & rst![КодОперации] & " ", acNormal
DoCmd.OpenForm "Форма_транзакция", acNormal, "", "", , acNormal
Forms![Форма_транзакция]![
DoCmd.Close acForm, "Форма_Чек_Телефон"
Чек_Да_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, "Форма_Чек_Телефон"
Чек_Нет_Click_Exit:
Exit Sub
Чек_Нет_Click_Err:
MsgBox Error$
Resume Чек_Нет_Click_Exit
End Sub
Запрос “Запрос_Инфо_О_Клиенте”
Режим “SQL”
SELECT Клиент_Общая_Инфо.КодКлиента,
Клиент_Общая_Инфо.Фамилия, Клиент_Общая_Инфо.Имя,
Клиент_Общая_Инфо.Отчество, Клиент_Общая_Инфо.
FROM Клиент_Общая_Инфо INNER JOIN (Клиент_Карта INNER JOIN Клиент_Финансы ON Клиент_Карта.КодКарты = Клиент_Финансы.КодКарты) ON Клиент_Общая_Инфо.КодКлиента = Клиент_Финансы.КодКлиента
ORDER BY Клиент_Общая_Инфо.КодКлиента, Клиент_Общая_Инфо.Фамилия, Клиент_Общая_Инфо.Имя;
Запрос “Запрос_Деньги”
Режим “SQL”
SELECT Деньги.КодОперации, Деньги.
FROM Деньги
WHERE (((Деньги.Дата)>[Forms]![
Запрос “Запрос_Начисление”
Режим “SQL”
SELECT Начисление.КодОперации, Начисление.НомерКарты, Начисление.Сумма, Начисление.Дата, Начисление.Время
FROM Начисление
WHERE (((Начисление.НомерКарты)=[
Запрос “Запрос_Телефон”
Режим “SQL”
SELECT Мобильник.КодОперации, Мобильник.НомерТелефона, Мобильник.НомерКарты, Мобильник.Баланс, Мобильник.Дата, Мобильник.Время
FROM Мобильник
WHERE (((Мобильник.НомерКарты)=[
Макрос “autoexec”