Задание № 6 «Операции по вкладам»
Цели: Разработать приложение с пользовательским диалоговым окном для выполнения операций по вкладам клиентов банка на основе созданной базы данных в предыдущей задаче.
Рабочий лист:
1)
2)
Программный код:
Option Explicit
Dim Фамилия As String
Dim ТипВклада As String
Dim СуммаВклада As Double
Dim Отделение As String
Dim Примечание As String
Dim Количество As Integer
Dim Номер As Integer
Private Sub UserForm_Initialize()
With Опер
.Сев.Value = True
.Тип.ListRows = 3
.Тип.List = Array("Срочный", "Депозит", "Текущий")
.Найти.SetFocus
Application.Worksheets("База").Activate
End With
End Sub
Private Sub Выдать_Click()
If IsNumeric(Величина.Text) = False Then
MsgBox "Ошибка в поле Суммы", vbInformation, "БАНК"
Exit Sub
End If
With ActiveSheet
.Cells(Номер, 3) = CStr(CDbl(.Cells(Номер, 3)) - CDbl(Величина.Text))
End With
Worksheets("Операции").Activate
Количество = Application.CountA(ActiveSheet.Columns(2)) + 1
With ActiveSheet
.Cells(Количество, 1) = Фам.Text
.Cells(Количество, 2) = Дата.Text
.Cells(Количество, 3) = Получ.Text
.Cells(Количество, 4) = Тип.Text
.Cells(Количество, 5) = Величина.Text
.Cells(Количество, 7) = Отделение
.Cells(Количество, 8) = Прим.Text
.Cells(Количество, 9) = Остаток.Text - CDbl(Величина.Text)
End With
End Sub
Private Sub Выход_Click()
Application.Worksheets("Меню").Activate
End
End Sub
Private Sub Найти_Click()
Worksheets("База").Activate
Количество = Application.CountA(ActiveSheet.Columns(1))
Фамилия = Фам.Text
ТипВклада = Тип.Value
If Сев.Value = True Then Отделение = "Северное"
If Центр.Value = True Then Отделение = "Центральное"
If Вост.Value = True Then Отделение = "Восточное"
With ActiveSheet
For Номер = 1 To Количество
If .Cells(Номер, 1) = Фамилия And .Cells(Номер, 2) = ТипВклада And .Cells(Номер, 4) = Отделение Then Exit For
Next
Остаток.Text = .Cells(Номер, 3)
End With
If Номер = Количество + 1 Then
MsgBox "Такого счета в базе нет", vbInformation
End If
Дата.Text = Date
End Sub
Private Sub Отменить_Click()
With ActiveSheet
.Cells(Номер, 3) = Остаток.Text
End With
Worksheets("Операции").Activate
With ActiveSheet
.Cells(Количество, 1) = ""
.Cells(Количество, 2) = ""
.Cells(Количество, 3) = ""
.Cells(Количество, 4) = ""
.Cells(Количество, 6) = ""
.Cells(Количество, 7) = ""
.Cells(Количество, 8) = ""
.Cells(Количество, 9) = ""
End With
End Sub
Private Sub Очистить_Click()
Фам.Text = ""
Остаток.Text = ""
Величина.Text = ""
Прим.Text = ""
End Sub
Private Sub Принять_Click()
If IsNumeric(Величина.Text) = False Then
MsgBox "Ошибка в поле суммы", vbInformation, "БАНК"
Exit Sub
End If
With ActiveSheet
.Cells(Номер, 3) = CStr(CDbl(.Cells(Номер, 3)) + CDbl(Величина.Text))
End With
Worksheets("Операции").Activate
Количество = Application.CountA(ActiveSheet.Columns(1)) + 1
With ActiveSheet
.Cells(Количество, 1) = Фам.Text
.Cells(Количество, 2) = Дата.Text
.Cells(Количество, 3) = Получ.Text
.Cells(Количество, 4) = Тип.Text
.Cells(Количество, 6) = Величина.Text
.Cells(Количество, 7) = Отделение
.Cells(Количество, 8) = Прим.Text
.Cells(Количество, 9) = Остаток.Text + CDbl(Величина.Text)
End With
End Sub
Форма:
