- •Раздел 1. Объектно-ориентированное программирование
- •Тема 1.1. Введение в алгоритмизацию и программирование
- •Тема 1.2. Объектно-ориентированное программирование. Язык Visual Basic for Application
- •Практическое занятие №1 Тема «Разработка простого приложения»
- •Задания для практического занятия и инструктаж по их выполнению
- •Практическое занятие №2 Тема «Разработка приложения с использованием кнопок, надписей и функции создания случайного числа»
- •Практическое занятие №3 Тема «Разработка приложения с использованием элемента управления для ввода текста»
- •Практическое занятие №4 Тема «Разработка приложения с использованием стандартных диалоговых окон»
- •Откройте Excel, переименуйте Лист1 в «Сообщения».
- •Задание №2 Используя функции MsgBox и InputBox для ввода и вывода значений, подсчитайте площадь окружности, если известен ее радиус.
- •Откройте Excel, переименуйте Лист1 в «Окружность».
- •Практическое занятие №5 Тема «Создание макросов и их применение в Excel»
- •Задание №2 Назначить макрос графическим изображениям.
- •Практическое занятие №6 Тема «Разработка приложения с внедрением рисунка»
- •Практическое занятие №7 Тема «Отладка программ»
- •Практическое занятие №8 Тема «Работа с листом и алгоритмическими конструкциями»
- •Задание №1 Создать приложение «Разнеси числа по листам»
- •Практическое занятие №9 Тема «Разработка программ с использованием встроенных функций»
- •Приложение Excel содержит более 400 встроенных функций рабочего листа и объект Application позволяет вызывать их при помощи конструкции вида:
- •Практическое занятие №10 Тема «Разработка приложения с использованием инструкции With»
- •Задание №1 Для данных, представленных в заданной таблице, вывести на лист список товаров фирмы hp и их цену.
- •Практическое занятие №11 Тема «Разработка приложения с использованием поля со списком»
- •Алгоритм формирования источника информации для поля со списком в пользовательской форме
- •Практическое занятие №12 Тема «Разработка приложения с использованием переключателя»
- •Практическое занятие №13 Тема «Разработка приложения «Работа с матрицей»
- •Задание №1
- •Определим адрес правого нижнего элемента матрицы и присвоим его элементу ad.
- •Формирование диапазона расположения матрицы.
- •Практическое занятие №14 Тема «Разработка приложения для работы с текстом Word»
- •Основные стандартные функции для символьных переменных
- •Практическое занятие №15 Тема «Разработка приложения для работы с абзацами в тексте Word»
- •Задание №1 «Количество абзацев в документе»
- •Задание №2 «Количество букв а (русских) в абзаце».
- •Практическое занятие №16 Тема «Использование языка vba при работе с основными объектами базы данных»
Практическое занятие №16 Тема «Использование языка vba при работе с основными объектами базы данных»
Цели занятия:
закрепление полученных знаний по темам «Основные элементы и объекты VBA» «Основы программирования на VBA», «Работа с внешними базами данных»;
формирование умения создавать приложения в VBA;
формирование умения создавать приложения в VBA для работы с базами данных;
формирование умения осуществлять разработку кода программного модуля на современных языках программирования.
Вопросы для актуализации опорных знаний:
опишите технологию создания баз данных на VBA;
опишите технологию создания таблиц на VBA.
Задания для практического занятия и инструктаж по их выполнению
Задание №1 Написать процедуру VBA, создающую новую базу данных.
Написать процедуру, создающую в текущей базе данных таблицу СТУДЕНТЫ с полями Номер студента, ФИО, Предмет 1, Предмет2, ПредметЗ, Предмет4, Средний балл.
Внести в созданную таблицу пять записей во все поля (кроме поля Средний балл).
Создать процедуру, подсчитывающую средний балл всех студентов и заносящую рассчитанные значения в поле Средний балл.
Создать форму, отображающую данные таблицы СТУДЕНТЫ и содержащую кнопку, запускающую процедуру расчета среднего балла.
Ход работы:
Открыть новую базу данных и вкладку Модули, написать процедуру, создающую новую базу данных в соответствии с приведенным примером: Создание новой базы данных
Sub CreateDatabaseX()
'Описание переменных
Dim myWs As Workspace
Dim myDb As Database
'Определяем стандартный объект Workspace (рабочее пространство)
Set myWs = DBEngine.Workspaces (0)
'Создаем новую базу данных
'с указанным используемым порядком символов 'dbLangGeneral
Set myDb = myWs.CreateDatabase("C:\NewDB.mdb", dbLangGeneral) myDb.Close
End Sub
В результате выполнения процедуры на диске С должна появиться новая база данных с названием NewDB.mdb.
Написать процедуру, создающую в текущей базе данных таблицу СТУДЕНТЫ с полями Номер студента, ФИО, Предмет 1, Предмет2, ПредметЗ, Предмет4, Средний балл в соответствии с приведенным примером:
Создание новой таблицы СТУДЕНТЫ в текущей базе данных
Sub CreateTableDefX()
'Определяем переменные Dim myDb As Database
Dim myTab As TableDef
Dim myF As Field
Set myDb = CurrentDb()
'Создаем новый объект TableDef - таблицу СТУДЕНТЫ
Set myTab = myDb.CreateTableDef("Студенты")
'Создаем новый объект Field — текстовое поле Номер
'студента и добавляем его к семейству полей объекта
'таблицы СТУДЕНТЫ
Set myF = myTab.CreateField("Номерстудента", dblnteger)
myTab.Fields.AppendmyF
'Создаем новый объект Field — текстовое поле ФИО
'и добавляем его к семейству полей объекта
'таблицы СТУДЕНТЫ
Set myF = myTab.CreateField(ФИО, dbText) myTab.Fields.Append myF
'Создаем новый объект Field — поле Предмет1 и
'добавляем его к семейству полей объекта таблицы
'СТУДЕНТЫ
Set myF = myTab.CreateField("Предмет1", dblnteger) myTab.Fields.Append myF
'Аналогично поступаем с другими полями таблицы
Set myF = myTab.CreateField("Предмет2", dblnteger) myTab.Fields.Append myF
Set myF = myTab.CreateField("ПредметЗ", dblnteger) myTab.Fields.Append myF
Set myF = myTab.CreateField("Предмет4", dblnteger) myTab.Fields.Append myF
Set myF = myTab.CreateField("Среднийбалл", dbDouble) myTab.Fields.Append myF
'Добавляем объект таблицу СТУДЕНТЫ к семейству
' таблиц базы данных
myDb.TableDefs.Append myTab
End Sub
Открыть созданную таблицу и внести пять записей во все поля (кроме поля Средний балл).
Создать процедуру, подсчитывающую средний балл всех студентов и заносящую рассчитанные значения в поле Средний балл в соответствии с приведенным примером:
Private Sub SB()
Dim myDb As Database
'объектная переменная типа
'базы данных
DimmyRecAsRecordset
'объектная переменная типа
'набора записей
DimsbAsDouble
'переменная для вычисления
'среднего балла
DimiAsInteger
'переменная цикла
DimmaxAsInteger
'переменная для хранения
' числа записей в таблице
SetmyDb = CurrentDb()
'Работаем с текущей базой
'данных
'Открываем набор записей таблицы СТУДЕНТЫ и присваиваем
' ссылку на него объектной переменной
myRecSetmyRec = myDb.OpenRecordset("Студенты") i = 0
myRec.MoveLast
'Идем к последней записи таблицы
max = myRec.RecordCount
'При этом RecordCount содержит
' число записей в
'таблице, которое нужно нам
'для вычисления
'среднего бала в каждой 1 строке таблицы
myRec.MoveFirst
'Переходим к первой записи
'таблицы и вычисляем средний
' балл
DoWhilei < max
sb = (myRec!Предмет1 + myRec!Предмет2 + myRec!ПредметЗ + + myRec!Предмет4)/4
myRec.Edit
'Заносим значение среднего
'балла в одноименное поле
myRec![Средний балл] = sb
myRec.Update
'Для внесения данных в поля
'таблицы обязательно используются
' команды Edit и
'Update.
myRec .MoveNext
'Переходим к следующей записи
' таблицы и повторяем все
i = i + 1
'пока не достигнем последней записи
Loop
'Закрываем набор записей.
myRec.CloseEndSub
Создать форму, отображающую данные таблицы СТУДЕНТЫ и содержащую кнопку, запускающую процедуру расчета среднего балла.
