Технология выполнения. Обсудим, как приведенная ниже программа решает перечисленные задачи и что происходит в программе.
Обсудим, как приведенная ниже программа решает перечисленные задачи и что происходит в программе.
UserForm_Initialize
- Активизирует диалоговое окно.
- Назначает клавише <Esc> функцию кнопки Отмена, а клавише <Enter> – Вычислить.
- Назначает кнопкам Вычислить, Отмена и переключателям всплывающие подсказки.
- Закрепляет первую строку так, чтобы она всегда отображалась на экране.
- Создает заголовки полей базы данных, если они еще не были созданы.
- Устанавливает начальное значение переключателя «0 программе».
- Заполняет раскрывающийся список.
- Устанавливает текст заголовка окна приложения.
CommandButton1_Click
- Определяет номер первой пустой строки в базе данных о регистрации туристов, куда будет введена новая запись.
- Считывает данные из диалогового окна.
- Вводит их в первую пустую строку.
CommandButton2_Click
- Закрывает диалоговое окно.
- Устанавливает заголовок приложения, используемый по умолчанию, т. е. удаляет пользовательский заголовок приложения, созданный при активизации формы.
SpinButton1_ Change
Вводит значение в поле Продолжительность тура.
Private Sub CommandButton1_Click()
' Процедура считывания информации из диалогового окна
' и записи ее в базу данных на рабочем листе
' Смысл переменных однозначно определен их названиями
Dim Фамилия As String * 20
Dim Имя As String * 20
Dim Пол As String * 3
Dim ВыбранныйТур As String * 20
Dim Оплачено As String * 3
Dim Фото As String * 3
Dim Паспорт As String * 3
Dim Срок As String * 3
Dim НомерСтроки As Integer
'НомерСтроки – номер первой пустой строки рабочего листа НомерСтроки = Application.CountA(ActiveSheet.Columns(1)) + 1
'Считывание информации из диалогового окна в переменные With UserForm1
Фамилия =.TextBox1.Text
Имя =.TextBox2.Text
Срок =.TextBox3.Text
Пол = IIf(.OptionButton1.Value, «Муж», «Жен»)
Оплачено = IIf(.CheckBox1.Value, «Да», «Нет»)
Фото = IIf(.CheckBox2.Value, «Да», «Нет»)
Паспорт = IIf(.CheckBox3.Value, «Да», «Нет»)
ВыбранныйТур =.ComboBox1.List(.ComboBox1.ListIndex, 0)
End With
'Ввод данных в строку с номером НомерСтроки рабочего листа
With ActiveSheet
Cells(НомерСтроки, 1).Value = Фамилия
Cells(НомерСтроки, 2).Value = Имя
Cells(НомерСтроки, 3).Value = Пол
Cells(НомерСтроки, 4).Value = ВыбранныйТур
Cells(НомерСтроки, 5).Value = Оплачено
Cells(НомерСтроки, 6).Value = Фото
Cells(НомерСтроки, 7).Value = Паспорт
Cells(НомерСтроки, 8).Value = Срок
End With
End Sub
В приведенной процедуре для определения первой пустой строки в заполняемой базе данных о туристах используется инструкция
НомерСтроки = Application.CountA(ActiveSheet.Columns(1)) + 1,
правая часть которой вычисляет число непустых ячеек в первом столбце активного рабочего листа. Переменной НомерСтроки присваивается значение на единицу большее, чем число непустых строк, что естественно, так как ей должен быть присвоен номер первой непустой строки базы данных. Подобные инструкции довольно часто используются при разработке приложений, поэтому следует обратить на них внимание.
Private Sub SpinButton1_Change()
'Процедура ввода значения счетчика в поле ввода
With UserForm1
TextBox3.Text = CStr(.SpinButton1.Value)
End With
End Sub
Private Sub TextBox3_Change()
'Процедура установки значения счетчика из поля ввода
With UserForm1
SpinButton1.Value = CInt(.TextBox3.Text)
End With
End Sub
Дата добавления: 2015-12-29; просмотров: 625;