- •Лабораторная работа №7 Создание форм
- •1.Создание экранной формы
- •Автоматизация экранных форм
- •2.1 Инициализация экранных форм
- •2.2 Создание процедуры для вызова формы
- •2.4 Сохранение данных, введённых в форму
- •2.4.1 Создание процедуры проверки правильности ввода данных
- •2.4.2 Процедура сохранения вводимых данных
2.4 Сохранение данных, введённых в форму
После того, как пользователь ввёл всю нужную информацию в форму, он щелкает по кнопке Сохранить. Процедура. которая запускается на выполнение после щелчка по этой кнопке, должна проверить правильность введённых данных и в случае их корректности записать данные в рабочий лист.
2.4.1 Создание процедуры проверки правильности ввода данных
Поле ввода может принять любую информацию. Однако необходимо проследить, чтобы пользователь не забыл ввести сведения в поля ввода Фамилия И.О. студента. Для создания такой процедуры необходимо выполнить следующие действия:
В редакторе Visual Basic отобразите разрабатываемую форму.
Дважды щёлкните по кнопке Сохранить. В окне кода появится заголовок процедуры CommandButtou1_Click. Опишем код процедуры:
Перейдите в рабочую книгу и щёлкните по командной кнопке, открывающей форму.
Щёлкните по кнопке Сохранить. Появится окно с сообщением «Пожалуйста, введите Фамилию И.О. студента».
Щёлкните по кнопке ОК. чтобы закрыть окно сообщения. На экране наша форма. Курсор находится в пате ввода Фамилия И.О. студента. Введите в это поле следующие данные: Иванов И.И. и щёлкните по кнопке Сохранить.
Появится окно с сообщением Пожалуйста, введите название факультета.
Щёлкните по кнопке ОК. чтобы закрыть окно сообщения. На экране наша форма. Курсор находится в пате ввода Факультет. Введите в это поле слово Экономический щелкните по кнопке Сохранить. Форма исчезнет с экрана.
2.4.2 Процедура сохранения вводимых данных
Данные, введённые в форму, следует сохранить в рабочем листе книги. Для этого:
Перейдите на рабочий Лист 3 и Дайте ему имя «Форма».
В первой строке листа создайте строку заголовков, повторяющих названия элементов управления. За образец возьмите рабочий лист, показанный на рис. 12.
Рис.12
Перейдите в редактор Visual Basic и отобразите экранную форму.
Чтобы открыть окно процедуры CommandButton1_Click. дважды щелкните по кнопке Сохранить.
Введите в процедуру CommandButton1_Click сразу после имени процедуры три оператора описания:
Теперь в текст той же процедуры перед оператором Unload Me введите следующий код:
Удалите оператор Unload Me
Теперь процедура, выполняющаяся при щелчке по кнопке Сохранить, выглядит так:
Private Sub CommandButton1_Click()
Dim Форма As Object
Dim I As Integer
Set Форма = Sheets("Форма")
If TextBox2 = "" Then
MsgBox ("Пожалуйста, введите Фамилию И.О. студента")
TextBox2.SetFocus
Exit Sub
End If
If TextBox3 = "" Then
MsgBox ("Пожалуйста, введите название факультета")
TextBox3.SetFocus
Exit Sub
End If
Worksheets("Форма").Activate
For I = 1 To 100
If Форма.Cells(I, 1) = "" Then
Форма.Cells(I, 1) = TextBox1.Value
Форма.Cells(I, 2) = TextBox2.Value
Форма.Cells(I, 3) = TextBox3.Value
If OptionButton1 = True Then
Форма.Cells(I, 4) = "Очная"
ElseIf OptionButton2 = True Then
Форма.Cells(I, 4) = "Вечерняя"
ElseIf OptionButton3 = True Then
Форма.Cells(I, 4) = "Заочная"
End If
Форма.Cells(I, 5) = ComboBox1.Value
If CheckBox1.Value = True Then Форма.Cells(I, 6) = ComboBox2.Value
Exit For
End If
Next
CheckBox1.Value = False
Unload Me
End Sub
Для того, чтобы при нажатии кнопки Отмена происходил выход из формы без сохранения исходных данных, щелкните по ней на форме и создайте процедуру:
Перейдите в рабочую книгу на Лист
Сохраните рабочую книгу.
Щёлкните по кнопке, вызывающей экранную форм}-. Введите в пате Фамилия И.О. студента фамилию Иванов П.П.. в поле Факультет- ФГУСЭС. Установите переключатель Форма обучения в положение Очная, в поле со списком Тема занятия выберите СУБД .-Access. Установите флажок Исходные данные взять с дискеты в положение Включено, а в поле со списком Имя файла на дискете - Список абонентов Щёлкните по кнопке Сохранить.
Форма закроется, а введённые в неё данные будут записаны в ячейки рабочего листа Формы.
Повторите ввод данных в форму (для другого студента) и убедитесь, что данные о нём будут записаны в следующей строке таблицы.
Варианты задания
1.Создать экранную форму «Ввод информации о студентах» для заполнения данных о студентах группы: фамилия и инициалы, год рождения, адрес (улица, дом, квартира), средний балл при поступлении. Введенные данные сохранить на листе рабочей книги . Добавьте в форму кнопку Отмена для завершения работы с пользовательской формой.
2.Создать экранную форму «Книги» для заполнения данных о 12 редких книгах, хранящихся с библиотеке: название, автор (фамилия и инициалы), год издания, место издания, инвентарный номер.. Введенные данные сохранить на листе рабочей книги . Добавьте в форму кнопку Отмена для завершения работы с пользовательской формой.
3.Создать экранную форму «Расписание полетов» для заполнения данных о рейсах самолетов: номер рейса, пункт назначения, время в пути (дробное число), тип самолета, время отправления (два поля записи: часы и минуты).. Введенные данные сохранить на листе рабочей книги . Добавьте в форму кнопку Отмена для завершения работы с пользовательской формой.
4.Создать экранную форму «Расписание автобусных маршрутов» для заполнения данных о автобусных маршрутах: пункт отправления, пункт назначения, время в пути (дробное число), время отправления (два поля записи: часы и минуты), количество остановок в пути.. Введенные данные сохранить на листе рабочей книги . Добавьте в форму кнопку Отмена для завершения работы с пользовательской формой.
5. Создать экранную форму «Продукция молокозавода» для заполнения данных о наименованиях продукции молокозавода, поступивших в продажу: название продукта, дата изготовления (три поля записи: год, месяц и число), срок хранения в днях, закупочная цена (дробное число).Введенные данные сохранить на листе рабочей книги . Добавьте в форму кнопку Отмена для завершения работы с пользовательской формой.
6. Создать экранную форму «Информация о фирмах» для заполнения данных о 10 фирмах: название фирмы, фамилия и инициалы владельца (одно поле), адрес (три поля: город, улица, дом), телефон. Введенные данные сохранить на листе рабочей книги . Добавьте в форму кнопку Отмена для завершения работы с пользовательской формой.
7. Создать экранную форму «Розыск автомашин» для заполнения данных о автомашинах, находящихся в розыске: марка, цвет, год выпуска, номер, дата угона (три поля: число, месяц, год). Введенные данные сохранить на листе рабочей книги. Добавьте в форму кнопку Отмена для завершения работы с пользовательской формой.
8. Создать экранную форму «Сотрудники фирмы» для заполнения данных о сотрудниках фирмы: фамилия, имя, отчество, год рождения, должность, год поступления на работу. Введенные данные сохранить на листе рабочей книги . Добавьте в форму кнопку Отмена для завершения работы с пользовательской формой.
9. Создать экранную форму «Информация о спортсменах» для заполнения данных о 10 спортсменах-пловцах: фамилия и инициалы, пол, год рождения, рост, вес, лучшее время, за которое спортсмен проплывает 50 метров. Введенные данные сохранить на листе рабочей книги. Добавьте в форму кнопку Отмена для завершения работы с пользовательской формой.
10. Создать экранную форму «Заказы» для заполнения данных о заказах клиентов ателье: фамилия и инициалы, адрес (три поля: улица, дом, квартира), вид заказа, стоимость заказа. Введенные данные сохранить на листе рабочей книги . Добавьте в форму кнопку Отмена для завершения работы с пользовательской формой.
Контрольные вопросы
С какими объектами Вы познакомились в лабораторной работе?
Что означает свойство объекта Caption?
Для каких целей используется значение свойства Name?
Каким образом можно разместить кнопку на рабочем листе ? И как с помощью этой кнопки вызвать форму?