Упражнение 17.      

Разработка программы для выполнения операций по вкладам

Постановка задачи. Разработать программу для выполнения операций по вкладам, сведения о которых содержатся в базе данных, создаваемой программой разработанной в упражнении 15. В программе необходимо предусмотреть следующие функции:

·         поиск нужной записи в базе данных на рабочем листе с именем База”;

·         Выполнение операции по приему на счет и снятие со счета суммы денег;

·         Отмену операции по вкладу.

Разработка.

Разработка формы пользователя. Учитывая требования, изложенные в постановке задачи, возможный вариант формы пользователя может быть таким, как изображено на рис. 9.3


Рис. 9.3. Форма пользователя для программы Операции со вкладами

Выполните следующие действия:

1.       Создайте форму пользователя и разместите в ней элементы управления как показано на рис.9.3.

2.       Элементам управления присвойте имена и свойства в соответствии с таблицей, приведенной ниже.

Элемент

Имя

Свойства

События

Форма

Опер

Caption

Операции со вкладом

Initialize

1.       Устанавливает один из переключателей.

2.       Устанавливает количество элементов списка и присваивает ему значения.

3.       Активизирует рабочий лист с именем “База

 

Поле

Фам

По умолчанию

 

 

Поле

Величина

По умолчанию

 

 

Поле

Остаток

По умолчанию

 

 

Поле

Получ

По умолчанию

 

 

Поле

Дата

По умолчанию

 

 

Поле со списком

Тип

По умолчанию

 

 

Переключатель

Сев

Caption

Северное

 

 

Переключатель

Центр

Caption

Центральное

 

 

Переключатель

Вост

Caption

Восточное

 

 

Кнопка

Найти

Caption

Найти

Click

1.       Вычисляет количество записей в таблице.

2.       Находит в таблице нужную строку по заданной фамилии, типу вклада и названию отделения.

3.       Выводит величину остатка в поле Остаток, а в поле Дата – текущую дату.

 

Кнопка

Принять

Caption

Принять

Click

1.       Проверяет корректность числовой информации в поле Величина.

2.       Записывает в базу данных “База” новую вычисленную сумму.

3.       Активизирует рабочий лист “Операции”.

4.       Записывает в базу данных “Операции” данные о проведенной операции.

 

Кнопка

Отменить

Caption

Отменить

Click

1.       Восстанавливает в текущей строке таблицы База данные, которые были до операции.

 

Кнопка

Выдать

Caption

Выдать

Click

1.       Проверяет корректность числовой информации в поле Величина.

2.       Вычисляет остаток и записывает его в базу данных База”.

3.       Активизирует рабочий лист “Операции” и записывает в таблицу сведения о проведенной операции

 

Кнопка

Выход

Caption

Выход

Click

1.       Активизирует рабочий лист с именем Меню”.

2.       Завершает выполнение программы

 

 3.       Рабочему листу Лист3” присвойте имя “Операции”.

4.       На рабочем листе с именем “Меню”  поместите Элемент управления Кнопка панели элементов Visual Basic и поместите на ней надпись “Операции”. С помощью этой кнопки будет вызываться разрабатываемое диалоговое окно.

5.       Для процедуры обработки события Click этой кнопки в модуле рабочего листа запишите код:

Private Sub Операции_Click()

активизируем форму с именем Опер

Опер.Show

End Sub

6.       На рабочем листе “Операции” в первой строке напишите заголовки колонок таблицы в следующей последовательности: Фамилия владельца вклада, Дата операции, Фамилия получателя, Тип вклада, Выдано, Принято, Отделение, примечание.

7.       В программном модуле формы в общей области запишите текст объявления переменных:

Option Explicit

Dim Фамилия As String

Dim ТипВклада As String

Dim СуммаВклада As Double

Dim Отделение As String

Dim Примечание  As String

Dim Количество As Integer

Dim Номер As Integer

 8.       Для процедуры обработки события UserForm_Initialize введите код:

Private Sub UserForm_Initialize()

With Опер

Устанавливаем переключатель

.Сев.Value = True

Количество элементов в Поле со списком

.Тип.ListRows = 3

Значения элементов списка

.Тип.List = Array("Срочный", "Депозит", "Текущий")

Устанавливаем фокус кнопке Найти

.Найти.SetFocus

Активизируем рабочий лист База

Application.Worksheets("База").Activate

End With

End Sub

 9.       В процедуру обработки события Click кнопки Найти введите код:

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

 10.   В Процедуру обработки события Click кнопки Принять запишите код:

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

End With

End Sub

 11.   В процедуру обработки события Click кнопки Выдать запишите код:

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(Количество, 5) = Величина.Text

.Cells(Количество, 7) = Отделение

.Cells(Количество, 8) = Прим.Text

End With

End Sub

 12.   В процедуру обработки события Click кнопки Отменить введите код:

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) = ""

End With

End Sub

 13.   В процедуру обработки события Click кнопки Выход введите код:

 Private Sub  Выход_Click()

Активизируем рабочий лист Меню

Worksheets("Меню").Activate

End

End Sub

 14.   Перейдите в приложение Excel, активизируйте рабочий лист Меню и щелкните на кнопке Операции. Программа должна активизироваться и на экране появится созданное диалоговое окно.

15.   Отладьте и проверьте работу программы во всех режимах.

16.   Сохраните проект  

 Задания для самостоятельной работы

Задание 1. Разработайте программу с диалоговым окном для создания на рабочем листе базы данных по учету выданных кредитов. Вид диалогового окна приведен на рис.13. Таблица базы данных должна содержать: фамилию, имя, адрес заемщика, срок кредита, сумму кредита, пол заемщика, сведения о залоге и его сумме.


Рис. 9.4. Форма программы для создания базы данных по учету кредитов

 Задание 2.

Разработайте программу с диалоговым окном для расчета величины постоянных периодических выплат при погашении кредита. Исходными данными для расчета являются:

·         Величина кредита;

·         Количество выплат за год;

·         Срок кредита (в количестве годов);

·         Годовая процентная ставка.

В программе предусмотрите проверку корректности вводимых данных и выдачу сообщения пользователю в случае некорректных данных.

Предыдущая   Следующая   В содержание темы
Hosted by uCoz