Вход


Главная страница >> Учебный процесс >> Конспекты >> MS Office. Уроки программирования на Visual Basic для Microcoft Office 97 >> Программирование в среде MS Excel >> Создание и использование форм >> Проверка условий на значение и получение данных из формы

[Назад]    [Содержание]    [Вперед]

  


Проверка условий на значение и получение данных из формы


После вывода формы и задания значений, вероятно, потребуется проверить введенные данные. Например, следует убедиться, что информация, введенная в элементы управления, принадлежит некоторому диапазону допустимых значений. Данный процесс называется проверкой условий на значение.

Если введенные данные правильны, требуется сохранить их и скрыть диалоговое окно. В противном случае, необходимо вывести сообщение и передать фокус объекту, содержащему недопустимую информацию. Рекомендуется связать проверку условий на значение с нажатием кнопки ОК. Закончив ввод, пользователь нажимает клавишу <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



[Назад]    [Содержание]    [Вперед]

  


Для комментария : kadan@grsu.grodno.by

  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017