Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otchet_po_vba.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
3 Мб
Скачать
☆

Задание № 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

Форма:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]