После вывода формы и задания
значений, вероятно, потребуется
проверить введенные данные.
Например, следует убедиться, что
информация, введенная в элементы
управления, принадлежит
некоторому диапазону допустимых
значений. Данный процесс
называется проверкой условий на
значение.
Если введенные данные
правильны, требуется сохранить
их и скрыть диалоговое окно. В
противном случае, необходимо
вывести сообщение и передать
фокус объекту, содержащему
недопустимую информацию.
Рекомендуется связать проверку
условий на значение с нажатием
кнопки ОК. Закончив ввод,
пользователь нажимает клавишу
<Enter> или кнопку ОК. Если кнопке
назначена подпрограмма проверки
данных, то необходимо присвоить
значение True свойству Default
этой кнопки. Таким образом, можно
задать запуск процедуры
обработки события Click,
если пользователь нажимает
клавишу <Enter>.
Если в форму введена неверная
информация, то обычно
отображается сообщение,
аналогичное показанному на рис.
10.10, а затем с помощью метода SetFocus
фокус передается элементу
управления, содержащему
недопустимую информацию.
После ввода требуется
сохранить данные. Обычно для
этого требуется присвоить
значение, содержащееся в
элементе управления, свойству Value
требуемого диапазона.
Информация, введенная в поле,
хранится в свойстве Text,
значения переключателей, списков
и флажков - в свойстве Value.
Кроме того, может потребоваться
сохранить в диапазоне вместо
значений флажков строки,
например, "Да" или "Нет".
При этом следует воспользоваться
инструкцией If.
Необходимо отметить, что если
занести в диапазон значение
свойства Value, то записывается
значение типа Boolean.
Рис. 10.10.
Сообщение о вводе неправильной
информации
Приведем пример сохранения
введенных в форму данных:
Private Sub
cmdExpOK_Click ()
If txtExpDescription.Text
= "" Then
MsgBox
"Введите описание."
' Метод SetFocus используется для
' передачи фокуса указанному
объекту.
txtExpDescription.SetFocus
Else
'
Необходимо создать новую
строку, чтобы
' ввести в нее данные.
Worksheets("Expense
Info.").Range("A5").EntireRow.Insert
'
Сохранение значений элементов
управления формы
'на рабочем листе
Worksheets("
Expense Info. "). Range ("A5").Value =_
drpExpCategory. Vatue Worksheets("Expense
Info.")._ Range("B5"). Value =
txtExpDescription.Text
Worksheets("Expense
Info.").Range("C5").Value =_
txtExpAmount.Text
Worksheets("Expense
Info.").Range("D5").Value =
txtExpDate.Text
If chkBillToClient.Value
= True Then
Worksheets("Expense
Info.").Range("E5").Value =_
"Да"
Else
Worksheets("Expense
Info.").Range("E5").Value =_
"Нет"
End If
' Скрытие
формы.
frmExpense.Hide
End If
End Sub
Обратите внимание, что после
проверки условий на значение и
сохранения данных выполняется
скрытие формы с помощью метода Hide.
Теперь необходимо написать
процедуру обработки события Cancel
кнопки Отмена. Обратите внимание,
что следует присвоить значение
True свойству Cancel данной
кнопки, чтобы событие Cancel
возникало как при щелчке по
кнопке Отмена, так и при нажатии
клавиши <Esc>. Чтобы скрыть
форму, требуется только одна
строка:
Private Sub
cmdExpCancel_Click ()
frmExpense.Hide
End Sub