Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы_5-15.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
471 Кб
Скачать
☆

3. Порядок выполнения работы

Задания

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

Задание 2. Обеспечить сохранение вводимых данных на рабочем листе.

3.1. Выполнение задания 1

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

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

3.1.2. Дважды щёлкните по кнопке Сохранить. В окне кода появится заголовок процедуры CommandButton1_Click.

3.1.3. Опишем код процедуры: после апострофа записаны комментарии. В процедуру следует вводить только выделенные жирным шрифтом операторы без апострофа:

Private Sub CommandButton1_Click

‘ Проверяем, не осталось ли пустым окно ввода Фамилия И.О. студента

If TextBox2 = “” Then

‘ Вывод окна сообщения с просьбой ввести данные о студенте

MsgBox (”Пожалуйста, введите Фамилию И.О. студента”)

‘ Установка курсора в поле ввода Фамилия И.О. студента

TextBox2.SetFocus

‘ Прерывание процедуры для повторного вывода на экран формы

Exit Sub

‘ Завершение проверки

End If

‘ Проверяем, не осталось ли пустым окно ввода Факультет

If TextBox3 = “” Then

‘ Вывод окна сообщения с просьбой ввести название факультета

MsgBox (”Пожалуйста, введите название факультета”)

‘ Установка курсора в поле ввода Факультет

TextBox3.SetFocus

‘ Прерывание процедуры для повторного вывода на экран формы

Exit Sub

‘ Завершение проверки

End If

‘ Команда закрыть форму

Unload Me

‘ Завершение программы

End Sub

В итоге процедура должна иметь вид:

Private Sub CommandButton1_Click

If TextBox2 = “” Then

MsgBox (”Пожалуйста, введите Фамилию И.О. студента”)

TextBox2.SetFocus

Exit Sub

End If

If TextBox3 = “” Then

MsgBox(”Пожалуйста, введите название факультета”)

TextBox3.SetFocus

Exit Sub

End If

Unload Me

End Sub

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

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

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

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

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

3.2. Выполнение задания 2

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

3.2.1. Перейдите на рабочий Лист 3 и переименуйте его на Форма (если в рабочей книге нет Листа3, поставьте указатель мыши на имя Лист1 и выполните команды Добавить – Лист ).

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

Рис. 15

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

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

3.2.5. Введите в процедуру CommandButton1_Click сразу после имени процедуры три оператора описания (как всегда, с апострофа начинаются комментарии, их вводить не нужно):

‘ Описание листа Форма как объекта

Dim Форма As Object

‘ Описание переменной I для перебора строк в таблице (как целого)

Dim I As Integer

‘ Описание объекта Форма как лист Excel

Set Форма = Sheets("Форма")

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

‘ Активизация листа Форма

Worksheets(“Форма”).Activate

' Организуем цикл просмотра строк в таблице, чтобы найти пустую

For I = 1 To 100

‘ Проверка, является ли очередная строка пустой

If Форма.Cells(I, 1) = " " Then

‘ Если строка пустая, записать в первый столбец (столбец А) этой

‘ строки информацию из поля ввода Дата занятия

Форма.Cells(I, 1) = TextBox1.Value

‘ во второй столбец (столбец В) записать информацию из поля

‘ Фамилия И.О. студента

Форма.Cells(I, 2) = TextBox2.Value

‘ в столбец C записать информацию из поля Факультет

Форма.Cells(I, 3) = TextBox3.Value

‘ Проверка установки переключателей Форма обучения. Если установлен

‘ переключатель Очная, в столбец D записать слово «Очная»

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

‘ Запись в шестой столбец таблицы (столбец F) информации

‘ поля со списком Имя файла на дискете.

Форма.Cells(I, 6) = ComboBox2.Value

‘ Завершение цикла, если найдена пустая строка для записи

Exit For

End If

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

Private Sub CommandButton1_Click

Dim I As Integer

Dim Форма As Object

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

Форма.Cells(I, 6) = ComboBox2.Value

Exit For

End If

Next

CheckBox1.Value = False

Unload Me

End Sub

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

Private Sub CommandBatton2_Click

Unload Me

End Sub

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

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

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

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

3.2.13. Перейдите на рабочий Лист1 и убедитесь, что он совпадает с рис.15.

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