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

В результате выполнения процедуры на форме (в текстовом поле TxtОплата) отобразится сумма к оплате за купленный товар с учетом скидок на объем покупки, тип покупателя и день недели.

Расчет сдачи и вывод результата

На рис. 3.5 представлен программный код процедуры расчета сдачи и вывода результата в виде сообщения при наступлении события – снятие фокуса с текстового поля TxtНаличные (для VB-6.0 – LostFocus, а для VBA – Exit).

Private Sub TxtНаличные_Exit(ByVal Cancel As _ MSForms.ReturnBoolean)

Dim StrSoobsh As String

Dim StrSoobsh1 As String

CurNalch = CCur(TxtНаличные.Text)

'If CurNalch < CurOpl Then MsgBox "Мало денег" Else

CurSdasha = CurNalch - CurOpl

'Вывод результата

StrSoobsh = "Вы приобрели товара на сумму " & _

Format(CurSum, "# ##0.00") & " грн." & vbCrLf & _

"Сидки сегодня: " & vbCrLf & _

"на стоимость: " & Format(SngSk1, "##0.00") & " %, " & _

"на тип покупателя: " & Format(SngSk2, "##0.00") & " %, " & _

"на день недели: " & Format(SngSk3, "##0.00") & " %, " & vbCrLf & _

"К оплате: " & Format(CurOpl, "# ##0.00") & " грн." & vbCrLf & _

"Наличные: " & Format(CurNalch, "# ##0.00") & " грн." & vbCrLf & _

"Сдача: " & Format(CurSdasha, "# ##0.00") & " грн." & vbCrLf & _

"Спасибо за покупку! Будем рады Вас видеть!"

StrSoobsh1 = IIf(CurSdasha < 0, "Недоплата!!! Нужно доплатить " & Format(-CurSdasha, "# ##0.00") & " гривень", StrSoobsh)

MsgBox StrSoobsh1, vbInformation, "Супермаркет Класс"

TxtСдача.Text = Format(CurSdasha, "# ##0.00")

If CurSdasha > 0 Then

LblРезультат.Caption = StrSoobsh

TxtНаличные.BackColor = vbWhite

Else

TxtНаличные.BackColor = vbRed

Exit Sub

End If

End Sub

Рис. 3.5. Процедура расчета сдачи и вывода результата

В результате выполнения процедуры на форме (в текстовом поле TxtСдача) отобразится сдача и пользователю будет выдано сообщение о результатах покупки или необходимости доплаты за покупку.

Подготовка рабочего места к обслуживанию очередного покупателя

На рис. 3.6 представлен программный код процедуры подготовки рабочего места к работе при наступлении события – щелчок по кнопке на форме «СБРОС» (CmdСброс).

'Процедура подготовки рабочего места к работе

Private Sub CmdСброс_Click()

TxtКоличество.Text = Empty

TxtЦена.Text = Empty

TxtОплата.Text = Empty

TxtНаличные.Text = Empty

TxtСдача.Text = Empty

LblРезультат.Caption = Empty

TxtНаличные.BackColor = vbWhite

End Sub

Рис. 3.6. Процедура подготовки рабочего места к работе

В результате выполнения процедуры на форме будут очищены текстовые поля TxtЦена, TxtКоличество, TxtОплата, TxtНаличные, TxtСдача и надписи LblРезультат.

7. Реализация проекта

1. Запустить на выполнение VBA для создания нового проекта.

2. Построить форму согласно проекту.

3. Дважды щелкнуть на форме и в открывшемся окне кода в заготовку процедуры UserForm_Initialize ввести ее тело (операторы).

4. Дважды щелкнуть на кнопке РАСЧЕТ и в открывшемся окне кода в заготовку процедуры CmdРасчет_Click ввести соответствующие операторы.

5. Дважды щелкнуть на текстовом поле TxtНаличные и в открывшемся окне кода в заготовке процедуры TxtНаличные_Click заменить событие Click на событие Exit из раскрывающегося списка событий и ввести соответствующие операторы в заготовку процедуры.

6. Дважды щелкнуть на кнопке СБРОС и в открывшемся окне кода в заготовку процедуры CmdСброс_Click ввести соответствующие операторы.

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