Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные по VBA / Лабораторная работа №7.doc
Скачиваний:
141
Добавлен:
22.03.2016
Размер:
506.37 Кб
Скачать

2.4 Сохранение данных, введённых в форму

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

2.4.1 Создание процедуры проверки правильности ввода данных

Поле ввода может принять любую информацию. Однако необходимо проследить, чтобы пользователь не забыл ввести сведения в поля ввода Фамилия И.О. студента. Для создания такой процедуры необходимо выполнить следующие действия:

  1. В редакторе Visual Basic отобразите разрабатываемую форму.

  2. Дважды щёлкните по кнопке Сохранить. В окне кода появится заголовок процедуры CommandButtou1_Click. Опишем код процедуры:

  1. Перейдите в рабочую книгу и щёлкните по командной кнопке, открывающей форму.

  2. Щёлкните по кнопке Сохранить. Появится окно с сообщением «Пожалуйста, введите Фамилию И.О. студента».

  3. Щёлкните по кнопке ОК. чтобы закрыть окно сообщения. На экране наша форма. Курсор находится в пате ввода Фамилия И.О. студента. Введите в это поле следующие данные: Иванов И.И. и щёлкните по кнопке Сохранить.

  4. Появится окно с сообщением Пожалуйста, введите название факультета.

  5. Щёлкните по кнопке ОК. чтобы закрыть окно сообщения. На экране наша форма. Курсор находится в пате ввода Факультет. Введите в это поле слово Экономический щелкните по кнопке Сохранить. Форма исчезнет с экрана.

2.4.2 Процедура сохранения вводимых данных

Данные, введённые в форму, следует сохранить в рабочем листе книги. Для этого:

  1. Перейдите на рабочий Лист 3 и Дайте ему имя «Форма».

  2. В первой строке листа создайте строку заголовков, повторяющих названия элементов управления. За образец возьмите рабочий лист, показанный на рис. 12.

Рис.12

  1. Перейдите в редактор Visual Basic и отобразите экранную форму.

  2. Чтобы открыть окно процедуры CommandButton1_Click. дважды щелкните по кнопке Сохранить.

  3. Введите в процедуру CommandButton1_Click сразу после имени процедуры три оператора описания:

  1. Теперь в текст той же процедуры перед оператором Unload Me введите следующий код:

  1. Удалите оператор Unload Me

  2. Теперь процедура, выполняющаяся при щелчке по кнопке Сохранить, выглядит так:

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

  1. Для того, чтобы при нажатии кнопки Отмена происходил выход из формы без сохранения исходных данных, щелкните по ней на форме и создайте процедуру:

  1. Перейдите в рабочую книгу на Лист

  2. Сохраните рабочую книгу.

  3. Щёлкните по кнопке, вызывающей экранную форм}-. Введите в пате Фамилия И.О. студента фамилию Иванов П.П.. в поле Факультет- ФГУСЭС. Установите переключатель Форма обучения в положение Очная, в поле со списком Тема занятия выберите СУБД .-Access. Установите флажок Исходные данные взять с дискеты в положение Включено, а в поле со списком Имя файла на дискете - Список абонентов Щёлкните по кнопке Сохранить.

  4. Форма закроется, а введённые в неё данные будут записаны в ячейки рабочего листа Формы.

  5. Повторите ввод данных в форму (для другого студента) и убедитесь, что данные о нём будут записаны в следующей строке таблицы.

Варианты задания

1.Создать экранную форму «Ввод информации о студентах» для заполнения данных о студентах группы: фамилия и инициалы, год рождения, адрес (улица, дом, квартира), средний балл при поступлении. Введенные данные сохранить на листе рабочей книги . Добавьте в форму кнопку Отмена для завершения работы с пользовательской формой.

2.Создать экранную форму «Книги» для заполнения данных о 12 редких книгах, хранящихся с библиотеке: название, автор (фамилия и инициалы), год издания, место издания, инвентарный номер.. Введенные данные сохранить на листе рабочей книги . Добавьте в форму кнопку Отмена для завершения работы с пользовательской формой.

3.Создать экранную форму «Расписание полетов» для заполнения данных о рейсах самолетов: номер рейса, пункт назначения, время в пути (дробное число), тип самолета, время отправления (два поля записи: часы и минуты).. Введенные данные сохранить на листе рабочей книги . Добавьте в форму кнопку Отмена для завершения работы с пользовательской формой.

4.Создать экранную форму «Расписание автобусных маршрутов» для заполнения данных о автобусных маршрутах: пункт отправления, пункт назначения, время в пути (дробное число), время отправления (два поля записи: часы и минуты), количество остановок в пути.. Введенные данные сохранить на листе рабочей книги . Добавьте в форму кнопку Отмена для завершения работы с пользовательской формой.

5. Создать экранную форму «Продукция молокозавода» для заполнения данных о наименованиях продукции молокозавода, поступивших в продажу: название продукта, дата изготовления (три поля записи: год, месяц и число), срок хранения в днях, закупочная цена (дробное число).Введенные данные сохранить на листе рабочей книги . Добавьте в форму кнопку Отмена для завершения работы с пользовательской формой.

6. Создать экранную форму «Информация о фирмах» для заполнения данных о 10 фирмах: название фирмы, фамилия и инициалы владельца (одно поле), адрес (три поля: город, улица, дом), телефон. Введенные данные сохранить на листе рабочей книги . Добавьте в форму кнопку Отмена для завершения работы с пользовательской формой.

7. Создать экранную форму «Розыск автомашин» для заполнения данных о автомашинах, находящихся в розыске: марка, цвет, год выпуска, номер, дата угона (три поля: число, месяц, год). Введенные данные сохранить на листе рабочей книги. Добавьте в форму кнопку Отмена для завершения работы с пользовательской формой.

8. Создать экранную форму «Сотрудники фирмы» для заполнения данных о сотрудниках фирмы: фамилия, имя, отчество, год рождения, должность, год поступления на работу. Введенные данные сохранить на листе рабочей книги . Добавьте в форму кнопку Отмена для завершения работы с пользовательской формой.

9. Создать экранную форму «Информация о спортсменах» для заполнения данных о 10 спортсменах-пловцах: фамилия и инициалы, пол, год рождения, рост, вес, лучшее время, за которое спортсмен проплывает 50 метров. Введенные данные сохранить на листе рабочей книги. Добавьте в форму кнопку Отмена для завершения работы с пользовательской формой.

10. Создать экранную форму «Заказы» для заполнения данных о заказах клиентов ателье: фамилия и инициалы, адрес (три поля: улица, дом, квартира), вид заказа, стоимость заказа. Введенные данные сохранить на листе рабочей книги . Добавьте в форму кнопку Отмена для завершения работы с пользовательской формой.

Контрольные вопросы

  1. С какими объектами Вы познакомились в лабораторной работе?

  2. Что означает свойство объекта Caption?

  3. Для каких целей используется значение свойства Name?

  4. Каким образом можно разместить кнопку на рабочем листе ? И как с помощью этой кнопки вызвать форму?