Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Методические указания для выполнения задачи № 1

Карулина В.А.

 

 

Методические указания и задания к выполнению домашней работы № 3(4) «Разработка интерфейса для задач, решаемых средствами Excel»

 

 

Москва 2016


 

УДК

ББК

Рекомендовано к изданию в качестве методических указаний к выполнению

домашней работы редакционно-издательским советом МГУПИ

В методических указаниях рассмотрено решение задач организации диалога с помощью программ, созданных на языке Visual Basic for Application для Excel.

Основная цель работы – сформировать у студентов комплекс знаний, умений и навыков, необходимых для решения профессиональных задач в области автоматизации работы по заполнению и вычислению данных. Кроме этого, затрагиваются основные положения создания и разработки баз данных в Excel. Вторая задача домашней работы: организовать связь Excel и Word. Сформировать выдачу данных, полученных средствами Excel в печатную форму, организованную средствами Word.

В работе приводится 31 вариант задач. Номер варианта задается преподавателем.

Методические указания предназначены для работы со студентами 1 курса всех специальностей по дисциплине «Информатика».

 

 

 

Методические указания и задания к выполнению домашней работы № 3 «Разработка интерфейса для задач, решаемых средствами Excel»

В домашней работе № 3 (4) рассматриваются две задачи:

1. Заполнение данными некоторой таблицы (БД) с помощью диалога;

2. Организовать связь Excel и Word. Сформировать выдачу данных, полученных средствами Excel в печатную форму, организованную средствами Word.

Номер варианта определяется преподавателем.

Домашняя работа должна быть оформлена в соответствии со стандартом МГУПИ. Титульный лист для домашней работы дан в приложении 1. Работа должна содержать задание, разработанные формы в рабочем состоянии (примеры решений), заполненную БД (5-10 строк) промежуточные вычисления с показом формул. Списки наименований в конкретной предметной области не менее 5 (например, виды процессора в компьютерном магазине). Коды программ должны быть снабжены комментариями.

Методические указания для выполнения задачи № 1

Первая задача домашней работы № 3 заключается в разработке приложения, позволяющего при помощи диалога заполнять базу данных. Рассмотрим эту задачу на примере заполнения базы данных туристического агентства.

Собственно база данных «Турист» создается на листе 1. Это таблица из 8 полей, показанная на рисунке 1.

Рисунок 1. База данных «Турист» на рабочем листе

Для заполнения базы данных на рабочем листе с помощью редактора пользовательских форм создадим диалоговое окно «Регистрация» (Рисунок 2).

Рисунок 2. Диалоговое окно Регистрация

На форме установлен элемент управления SpinButton, который часто используется для увеличения или уменьшения значения другого элемента управления, например, элемента управления Label. Свойство SmallChange определяет, насколько значение элемента управления SpinButton изменяется при нажатии.

Выполним задачу добавления элемента управления SpinButton, которое увеличивает или уменьшает число (дату), хранящееся в элементе управления TextBox.

Для этого выполните следующие действия.

1. Установите на форму 2 элемента: SpinButton и TextBox.

2. Дважды щелкните элемент управления SpinButton, чтобы открыть окно кода для элемента управления SpinButton.

3. В окне кода введите следующий код для события SpinButton1_SpinUp (указатель вверх (вправо)):

Private Sub SpinButton1_SpinUp()

TextBox1.Text = DateValue(TextBox1.Text) + 1

End Sub

В окне кода введите следующий код для события SpinButton1_SpinDown (указатель вниз (влево)):

Private Sub SpinButton1_SpinDown()

TextBox1.Text = DateValue(TextBox1.Text) - 1

End Sub

В окне кода введите следующий код в событие Инициализации пользовательской формы:

Private Sub UserForm_Initialize()

TextBox1.Text = Date

End Sub

Проект БД состоит из одного листа (Лист1) и одной формы (UserForm1).

Рисунок 3.Окно проекта разрабатываемого приложения

При загрузке (открытии) книги работает программа Workbook_Open(). Ее можно открыть, дважды щелкнув по объекту ЭтаКнига.

Ее действия ясны из комментариев.

 

Private Sub Workbook_Open()

Worksheets("Лист1").Activate

Load UserForm1

'Процедура вызова диалогового окна

'и задание элементов раскрывающегося списка

'Задание пользовательского заголовка окна приложения

Application.Caption = "Регистрация. БД фирмы 'МГУПИ-Тур'"

'Закрытие строки формул окна Excel

Application.Display FormulaBar = False

'Всплывающая подсказка для кнопки OK

With UserForm1.CommandButton1

.ControlTipText = "Ввод данных в базу данных"

End With

'Всплывающая подсказка для кнопки Отмена

With UserForm1.CommandButton2

.ControlTipText = "Кнопка отмены"

End With

'Задание элементов раскрывающегося списка

UserForm1.ComboBox1.List = Array("Лондон", "Париж", "Берлин")

'Установка элемента раскрывающегося списка в "схлопнутом" 'состоянии

'Счет элементов с нуля!

UserForm1.ComboBox1.ListIndex = 0

'Активизация диалогового окна

UserForm1.Show

End Sub

Рисунок 4. Вид диалогового окна «Регистрация»

Нажатие на кнопку OK запускает на выполнение процедуру CommandButton1_Click, которая:

1. определяет номер первой пустой строки в базе данных о регистрации туристов, куда будет введена новая запись;

2. считывает данные из диалогового окна;

3. вводит их в первую пустую строку.

Для определения первой пустой строки используется инструкция

 

НомерСтроки = Application.CountA(ActiveSheet.Columns(1)) + 1,

 

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

Private Sub CommandButton1_Click()

' Процедура считывания информации из диалогового окна

' и записи ее в базу данных на рабочем листе

' Смысл переменных однозначно определен их названиями

Dim Фамилия As String * 20

Dim ИмяAs String * 20

Dim Пол As String * 3

Dim ВыбранныйТур As String * 20

Dim Оплачено As String * 3

Dim Фото As String * 3

Dim Паспорт As String * 3

Dim Срок As String * 3

Dim НомерСтроки As Integer

'НомерСтроки - номер первой пустой строки рабочего листа

НомерСтроки = Application.CountA(ActiveSheet.Columns(1)) + 1

'Считывание информации из диалогового окна в переменные

With UserForm1

Фамилия =.TextBox1.Text

Имя =.TextBox2.Text

Срок =.TextBox3.Text

' IIf – оператор «Сокращенный if»

Пол = IIf(.OptionButton1.Value = True, "Муж", "Жен")

Оплачено = IIf(.CheckBox1.Value = True, "Да", "Нет")

Фото = IIf(.CheckBox2.Value = True, "Да", "Нет")

Паспорт = IIf(.CheckBox3.Value = True, "Да", "Нет")

ВыбранныйТур =.ComboBox1.List(.ComboBox1.ListIndex, 0)

End With

'Ввод данных в строку с номером НомерСтроки рабочего листа

With ActiveSheet

Cells(НомерСтроки, 1).Value = Фамилия

Cells(НомерСтроки, 2).Value = Имя

Cells(НомерСтроки, 3).Value = Пол

Cells(НомерСтроки, 4).Value = ВыбранныйТур

Cells(НомерСтроки, 5).Value = Оплачено

Cells(НомерСтроки, 6).Value = Фото

Cells(НомерСтроки, 7).Value = Паспорт

Cells(НомерСтроки, 8).Value = Срок

End With

End Sub

 

Кнопка Отмена очищает установленные значения на форме. Для этого она обращается к подпрограмме Очистка-формы, записанной в Modults. Закрывает диалоговое окно. Устанавливает заголовок приложения, используемый по умолчанию, т.е. удаляет пользовательский заголовок приложения, созданный при активизации формы.

Private Sub CommandButton2_Click()

Очистка-формы

UserForm1.Hide

Application.Caption = Empty

Worksheets("Лист1").Activate

End Sub

 

'Обратите внимание: стоит опция Public

Public Sub Очистка-формы()

Application.Caption = "Регистрация. БД ‘МГУПИ-Тур’"

Application.DisplayFormulaBar = False

With UserForm1.CommandButton1

.ControlTipText = "Ввод данных в БД"

End With

With UserForm1.CommandButton2

.ControlTipText = "Кнопка отмены"

End With

UserForm1.ComboBox1.List = Array("Лондон", "Париж", "Берлин")

UserForm1.ComboBox1.ListIndex = 0

UserForm1.TextBox1.Text = ""

UserForm1.TextBox2.Text = ""

UserForm1.TextBox3.Text = "1"

UserForm1.CheckBox1.Value = False

UserForm1.CheckBox2.Value = False

UserForm1.CheckBox3.Value = False

End Sub

 

Любые действия, производимые на листах Excel, могут быть записаны с помощью MacroRecorder, который переведет производимые действия на язык VBA. Для активизации MacroRecorder выберите команду Макрос/Начать запись (Tools, Macro, RecordNewMacro) и запустите MacroRecorder на запись (см. Рисунок 5).

Там же появится кнопка Остановить запись (StopRecording). Теперь все производимые действия будут записываться до тех пор, пока не будет нажата эта кнопка.

Из записанного макроса остается только скопировать нужные фрагменты в программу создаваемого приложения о базе данных регистрации туристов.

 

 

Рисунок 5. Запись макроса

 

 

На листе1 установлена кнопка Ввод, которая выдает пустую форму. если Вы отменили ввод по кнопке Отмена и тем самым убрали форму.

 

 

Рисунок 6. Подпрограмма для кнопки «Ввод»

 

Задача 1. Разработать форму для внесения данных в базу (таблицу). Диалоговое окно (форма) должна содержать разнообразные управляющие элементы: метки, текстовые поля, счетчики, переключатели, раскрывающиеся списки, группы, флажки, кнопки, удобные для работы с различными типами данных.

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

Варианты для задачи 1 помещены в таблице 1.

Таблица 1

№ вар Наименование таблицы Перечень полей
     
  Учет успеваемости студентов Вашей группы во 2-м семестре ФИО, № з/к, оценка при сдаче уч. дисциплины (зачет, диф. зачет, экзамен), итог: (перевод на 2 курс), доп. сессия, исключение.
  Личные дела студентов Вашей группы № з/к, ФИО, дата рожд., дом.адрес, тел, ФИО родителей, их тел.
  Кафедра Наименование, факультет, шифр. Кадровый состав: ФИО, должность (проф., доц,, ст. преп., ассистент), уч. степень (д.т.н., к.т.н), звание (проф., доц.), основная читаемая дисциплина.
  Лаборатория Кадровый состав: ФИО, должность (зав. каф., проф., доц., ст. преп., ассистент), уч. степень (д.т.н., к.т.н), звание (проф., доц.);направление исследований.
    Продолжение таблицы 1
     
  Автосервис Клиент: владелец (доверенность), ФИО, рег. № авто, марка; оказанная услуга (выбор наименований из списка), цена каждой позиции, общая стоимость обслуживания.
  Учет нарушений правил дорожного движения Водитель: владелец (доверенность), № вод. удостоверения, ФИО, рег. № авто, марка; Нарушение: вид нарушения; дата; штраф, № квитанции.
  Картотека агентства недвижимости Кол-во комнат, общ. площадь, тип дома (кирпич, панельн., блочн.), этаж, размеры комнат, размер кухни, наличие балкона, новое/вторичное жилье, район.
  Картотека абонентов АТС № тел., ФИО абонента, адрес, льготы (инвалид, ветеран), тариф (варианты).
  Магазин одежды Ассортимент одежды: наименование, фирма-производитель, размер, цвет, артикул, цена товара; поступивший товар: дата поступления, количество, цена оптовая; расход одежды: дата и количество.
  Книжный магазин Поступления: № накладной, дата, книга: автор, наименование, издание, цена, кол-во; Продажи: дата, книга: автор, наименование, издание, кол-во;
  Автостоянка аэропорта Клиент: рег. № авто, время въезда на стоянку, время выезда: время стоянки, стоимость (100 р./час).
  Кадровое агентство Предприятие: название, адрес; вакансии: специальность (должность), образование, стаж работы, наличие рекомендаций, условия оплаты: оклад, почасовая, сменная; особые условия.
  Экзаменатор Экзаменующийся: ФИО, специальность, группа; вопрос (список из 10), вариант ответа (3 варианта: А-0, Б-5, В-10 баллов), сумма баллов, оценка: (от 0 до 30 баллов – 3, от 35 до 70 баллов – 4, от 75 до 100 баллов - 5).
       
    Продолжение таблицы 1
     
  Психологическое тестирование Вопрос (10 вариантов), ответ (3 варианта: А-0, Б-5, В-10 баллов), сумма баллов, приговор: (от 0 до 30 баллов – меланхолик, от 35 до 70 баллов – сангвиник, от 75 до 100 баллов - холерик)
  Учет отработанного времени студентов ФИО, № з/к, дата, место прохождения практики (лаборатория, комп. класс, мастерская), отработанное время, суммарное время.
  Картотека для учета выдачи литературы в библиотеке Читатель: ФИО читателя, адрес, тел.; Книга: автор, название, отметка выдачи (дата), отметка возврата (дата), отметка задолженности (если с момента выдачи прошло более 20 дней).
  Учет товаров на складе № накладной, дата поступления. Товар: артикул, наименование, цена, кол-во, ед. измерения; № накладной, дата отправки. Товар: артикул, наименование, цена, кол-во, ед. измерения;
  Рекламный отдел ежедневной газеты Заказ: объем объявления (1/2, 1/4, 1/8, 1/16 стр.), кол-во публикаций; периодичность издания (ежедн., 1р./нед,), стоимость заказа (вычисляется от объема и кол-ва публикаций).
  Сервисный центр (ремонт телевизоров) Клиент: ФИО, тел.; Модель TV, инд. номер, вид ремонта (выбор позиций из списка), стоимость позиции, суммарная стоимость.
  Компьютерный магазин (мониторы) № накладной, дата, наименование монитора, фирма-производитель, размер, цена, кол-во.
  Учет оплаты коммунальных услуг физическими лицами Адрес дома, № кв, ФИО нанимателя (владельца), месяц, сумма, дата.
  Отдел кадров предприятия Сотрудник: личные данные: ФИО, дата рожд., паспорт, адрес; должность, образование, № приказа о приеме, дата приема, оклад.
     
    Продолжение таблицы 1
     
  Список групп детского спортивного комплекса Название группы, ФИО тренера, периодичность занятий (дни недели), время проведения занятий, кол-во учеников, оплата за месяц.
  Склад № накладной, дата поступления. Товар: артикул, наименование, цена, кол-во, ед. измерения;
  Прокат автомобилей Прокат: марка авто (из списка), цена за сутки; ФИО клиента, водительские права: дата, срок, стоимость (цена×срок);
  Заполнение списка групп детского спортивного комплекса Название группы, кол-во учеников, кол-во вакантных мест (вычисляется по мере заполнения списка), ФИО ученика, ФИО родителя, контактный тел, сведения об оплате за текущий месяц.
  Оплата занятий детского клуба ФИО ребенка, дата рождения, ФИО родителя, тел. родителя, секция (выбор из списка), месяц, отметка об оплате.
  Видеопрокат Клиент: ФИО, тел.; Диск: название (из списка), дата выдачи, отметка возврата (дата), отметка задолженности (если с момента выдачи прошло более 2-х дней), отметка об оплате.
  Сервисный центр (ремонт ноутбуков) Клиент: ФИО, тел.; Модель ноутбука, инд. номер, вид ремонта (выбор позиций из списка), стоимость позиции, суммарная стоимость.
  Интернет-магазин (Ноутбуки) Каталог товаров: фирма, название, цена; Регистрация покупателя: ФИО, дата, e-mail, тел. адрес доставки, способ (курьер, самовывоз).
  Учет сдельной заработной платы ФИО работника, дата, вид работ (изд. А,Б,С), расценка, начисление.
Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...