Private Sub CommandButton1_Click()



МГТУ «МАМИ»

Кафедра «Автоматика и процессы управления»

Направление подготовки «Управление в технических системах»

Дисциплина «Информационные технологии»

Второй с еместр

Методические указания к расчетно-графической работе № 1

Использование средств автоматизации Excel и VBA для разработки приложений обработки данных СУБД

 

Тема: Исследование возможностей разработки приложений в среде Visual Basic for Application для обработки данных реляционных СУБД, исследование возможностей создания пользовательского интерфейса на основе форм, рассмотрение методов расширения функциональности приложений за счет сторонних компонент.

Задачи:

• Создать приложение с несколькими формами в Visual Basic for Application;

• Создать базу данных в Ms Access, спроектировав ее структуру и запросы;

• Заполнить базу данных и провести отладку запросов;

• Разработать алгоритмы обработки данных в приложении;

• Отладить приложение, разработать и проверить контрольный пример;

• Подготовить отчет.

Оборудование и принадлежности:

Персональный компьютер с установленной операционной системой Microsoft Windows, система управления электронными таблицами Ms Excel с установленной средой Visual Basic for Applications, СУБД Ms Jet и среда Ms Access.

Ход выполнения работы:

Элементы диалоговых окон

Диалоговые окна являются одним из эффективных методов повышения удобства пользования рабочими книгами Excel за счет обеспечения интерактивности при выполнении макрокоманд. При выполнении макросов часто требуется указание каких-либо параметров пользователем или выдача ему сообщений. Конечно, обмен данными можно реализовать через изменение значений ячеек рабочего листа, но это не всегда удобно, поскольку оставляет слишком большой диапазон неопределенности в действиях пользователя. В самом деле, ведь ячейка с сообщением, сформированным макросом может находиться вне текущей видимой области рабочего листа просто потому, что он переместился к другой области перед вызовом макроса.

Диалоговые окна появляющиеся поверх рабочих листов являются удобным способом общения с пользователем. Ранее были рассмотрены два типа встроенных диалоговых окон, активируемых функциями MsgBox и InputBox. Данные диалоговые окна придают программам гибкость, которой могут обладать только интерактивные программы, но их возможности в известной степени ограничены. VBA позволяет создавать диалоговые окна, которые дают возможность пользователям ваших программ задавать при помощи одного окна сразу несколько опций, выбирать пункты из списка или вводить в одном окне несколько значений. В принципе, на основе диалоговых окон возможно создание полноценных интерактивных приложений (правда выполняющихся в среде Excel), при работе с которыми пользователь вообще не будет обращаться к ячейкам рабочих листов напрямую, а будет работать только с пользовательскими формами ввода и просмотра данных. Например, можно разработать программу поиска информации в базе данных, размещенных на рабочих листах Excel.

Для создания диалогового окна необходимо открыть редактор Visual Basic for Application (команда Сервис – Макросы – Редактор Visual Basic) и вставить в проект Пользовательскую форму (Insert – UserForm). Объект UserForm – это заготовка будущего диалогового окна. Рядом с окном конструктора диалогового окна появляется инструментальная панель с элементами управления (Controls). Выбрав необходимый элемент управления его можно поместить на форму (выполнив щелчок на элементе управления, а затем выделив прямоугольник в позиции его будущего положения; или просто двойным щелчком на инструментальной панели). Дополнительные элементы управления можно подключить через меню Tools – Additional controls.

В инспекторе свойств (окно Properties) можно изменить свойства диалогового окна, например, цвет фона (BackColor), текст заголовка(Caption), внутреннее наименование (Name).

Проектирование приложений с использованием пользовательских форм строится на основе написания Обработчиков событий, которые возникают всякий раз, когда пользователь проводит какое-либо действие с элементами управления (в том числе и с самой формой).

Наиболее часто используемым событием при разработке пользовательских форм является щелчок (Click) левой кнопкой мыши на элементе управления. Зададим обработчик данного события для самой формы (окно редактора откроется после двойного щелчка на нужном элементе управления (в нашем случае на самой форме) в окне дизайнера формы.

Private Sub UserForm_Click()

UserForm1.Hide

End Sub

Данный код приведет к тому, что при щелчке на форме она будет становиться невидимой. Запустить форму на исполнение для проверки функциональности можно командой Run – Sub / UserForm. Для запуска формы из среды Excel необходимо создать макрос, вызывающий команду показа формы, например, следующего вида:

Sub FormStarter()

UserForm1.Show

End Sub

 

Дополнительное задание: Разработать форму, меняющую свой фоновый цвет при щелчке мышью.

 

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

Private Sub CommandButton1_Click()

Dim N As String

N = “ Hello world !”

MsgBox ( N )

End Sub

Для удобства восприятия формы лучше заменить надпись на кнопке (свойство Caption кнопки) и разместить на форме несколько меток (Label), с помощью которых можно оформить подписи к текстовым боксам (метки используются для «нанесения» надписей на форме через их свойства Caption).

 

Примечание. При необходимости реализовать запуск макроса при открытии документа, его необходимо вызвать из подпрограммы в модуле рабочей книги с описанием:

Private Sub WorkBook_Open()

….необх.действия …

End Sub

 


Дата добавления: 2019-02-13; просмотров: 213; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!