Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Курсовая работа по информатике

.pdf
Скачиваний:
9
Добавлен:
27.03.2016
Размер:
1.24 Mб
Скачать

5.1 Удалите диаграмму, построенную по п.4.10. И запишите все действия построения диаграммы в макрос. Для этого выполните следующие действия:

-Выполните команду Сервис – Макрос – Начать запись – введите имя макроса, например, «График».

-Выполните все действия п. 4.10 – построения диаграммы и назначения ей параметров.

-Выполните команду Сервис – Макрос – Остановить Запись. Данный макрос используется при проектировании интерфейса. Необходимо будет привязать его к кнопке см. п. 6.14.

6 РАЗРАБОТКА ИНТЕРФЕЙСА

6.1 Интерфейс программы предусматривается для удобства ввода исходных данных и вывода результатов расчета. Реальная расчетная таблица может быть очень большой, данные и результаты могут быть не видны на одном экране, разбросаны по таблице. Для редактирования данных, их ввода, удаления и просмотра результатов расчета будет требоваться перемещение по большой таблице, что не очень удобно. Разработка интерфейса программы включает проектирование форм для ввода исходных данных и вывода результатов. Написания кода для процедур отклика элементов управления: кнопок, кнопок выбора, счетчиков и т.д. Написания кода модулей, если программа объемная. Проверка работы интерфейса на контрольном примере.

Рисунок 3 – График показателей работы автопредприятия

6.2 Запуск интерфейса программы, осуществляется кнопкой «ДОБАВЛЕНИЕ И УДАЛЕНИЕ автосамосвалов», расположенной на рабочем листе (рисунок 1). Для установки кнопки подключите панель инструментов «Элементы управления» командой ВИД - Панели инструментов – Элементы управления. На этой ПИ нажмите на кнопку «Конструктор» (она должна быть утоплена) – тем самым включится режим конструктора. Выбираем на ПИ кнопку «Кнопка», переходим в область рабочего листа и, нажав левую клавишу мыши, рисуем кнопку. Нажав кнопку «Свойства» на ПИ, устанавливаем свойство Caption = «ДОБАВЛЕНИЕ И УДАЛЕНИЕ автосамосвалов». Привязываем к кнопке процедуру запуска формы1. Для этого 2 раза щелкаем по ней левой кнопкой мыши и между строк начала и конца процедуры, которые генерируются автоматически вставляем команду показать (Show) форму UserForm1.

Private Sub CommandButton1_Click() UserForm1.Show

End Sub

Данная программа создается в модуле рабочего листа 1 (того, где расположена кнопка).

6.3 Нажатие на кнопку «ДОБАВЛЕНИЕ И УДАЛЕНИЕ автосамосвалов» открывает форму1. Проект формы1 представлен на рисунке 4 c обозначением элементов управления.

 

SpinButton1

TextBox1

TextBox8

TextBox2

CommandButton1

 

TextBox3

CommandButton2

TextBox4

 

TextBox5

CommandButton4

 

TextBox6

CommandButton3

 

TextBox7

TextBox9

 

Рисунок 4 – Проект формы1.

Форма1 предназначена для добавления и удаления исходных данных. Исходные данные отмечены в таблице 2, как «Входные».

6.4. Для создания формы1 перейдите в редактор VBA командой Сервис – Макрос – Редактор Visual Basic. В редакторе выполните команду Insert –UserForm. В окне свойств UserForm1 измените свойство Caption =

Работа с исходными данными – этот текст появится в строке надписи формы1.

6.5. На вид формы1 оказывает влияние структура таблицы в Excel. На ней размещены поля (TextBox) для ввода № самосвала и его объемы перевозок за месяцы январь, февраль, март, апрель, май, июнь. Т.е. предполагается ввод в таблицу по строкам (как в базах данных) – это интервалы ячеек:В6:Н6, В7:Н7 и т.д. Дополнительно в таблицу и в форму1 добавлено поле «№ записи». В поле «Суммарная производительность» осуществляется вывод этого результата из ячеек диапазона I6:I14. Кроме того на форме1 размещены надписи (lebel).

6.6 На форме расположены элементы управления. Названия кнопок формы введены аналогично п. 5.2 путем изменения её свойства Caption. Элементы управления выполняют следующие функции:

Счетчик (SpinButton1) – осуществляет переход по записям таблицы и позволяет отражать в полях формы (TextBox) значения из ячеек

таблицы и записывать значения полей формы (когда добавляется новая запись) в ячейки таблицы Cells(i,j).

Кнопка «Добавить запись» - из полей формы1 записывает новую строку в ячейки таблицы Excel, например, A9:I9, для этого пользователь должен ввести в поля формы значения для новой строки таблицы.

Кнопка «Удалить запись» - удаляет выбранную запись, переписыванием нижележащей записи на выбранную.

Кнопка «Посмотреть ИТОГИ» - загружает форму2.

Кнопка «Закрыть Форму» - закрывает форму1.

6.7 Код программы передвижения счетчика вверх. Для написания кода нужно два раза щелкнуть по счетчику на форме. В модуле формы в списке событий выбрать для SpinButton1 события SpinUp (счетчик возрастает) и SpinDown (счетчик уменьшается). Между строками начала и конца процедуры наберите код, (см.рисунок 5).

Private Sub SpinButton1_SpinUp( ) – Начало процедуры

Набрать код процедуры

End Sub - Конец процедуры.

Private Sub SpinButton1_SpinDown( ) – Начало процедуры

Набрать код процедуры

End Sub - Конец процедуры.

В коде приведенных процедур (см.рисунок 5): n – номер записи, TextBox8 – поле счетчика (см. рисунок 4), отражающее номер записи в таблице Excel. Val(TextBox8.Text) – перевод текстового значения поля в число функцией Val и присваивание этого значения переменной n – номеру записи. Номер записи увеличивается или уменьшается на 1 и передается в TextBox8. При этом переменная n переводится в сивол (текст) str(n). В процедурах используется обращение к процедуре ReadRec(n) – читать n- ую запись из ячеек таблицы и писать в поля формы.

6.8. Код процедуры ReadRec необходимо создать. Для этого выполнить команду Insert – Module и в открывшемся модуле набрать следующий код.

Public n As Integer ‘Глобально объявленная переменная n она «видна» из любой процедуры

Public Sub ReadRec(rec) ‘Процедура читать запись

If rec > 0 Then ‘Если номер записи больше 0 выполнить действия With UserForm1 ‘Объявление структурной скобки для объекта фор-

ма1

Объект

 

Список

SpinButton

 

событий

 

 

 

Процедура

движения

счетчика

вниз

Процедура

движения

счетчика

вниз

Рисунок 5 – Программирование счетчика (SpinButton)

7. ИСПОЛЬЗОВАНИЕ ИНТЕРФЕЙСА ДЛЯ РАБОТЫ С ТАБЛИЦЕЙ

7.1. Добавление записей в таблицу. Нажмите на кнопку «ДОБАВЛЕНИЕ И УДАЛЕНИЕ автосамосвалов», расположенную на рабочем листе. Откроется форма1 (см. рисунок 7), счетчиком установите значения полей на первой пустой записи (в нашем примере запись 4), заполните поля формы1 значениями, нажмите на кнопку «Добавить запись», данные перепишутся в таблицу. По введённым данным рассчитается суммарная производительность. Добавьте ещё записи в таблицу.

Рисунок 7 – Добавление записей с помощью формы 1.

7.2. Удаление записей из таблицы. Счетчиком формы1 выберите номер, удаляемой записи. В полях формы отразятся значения ячеек таблицы из этой записи. Нажмите на кнопку «Удалить запись». В таблице запись будет удалена, нижележащие записи поднимутся вверх. В полях формы отразятся значения ячеек следующей строки (см. рисунок 8). В примере удалена 4 запись – самосвал ВК 889.

Рисунок 8 – Удаление 4 записи из таблицы с помощью формы1.

8 РАЗРАБОТКА БАЗЫ ДАННЫХ

8.1 В программе Access создаем базу данных [5], в которой будут храниться данные аналогичные тем, что приведены таблице Excel.

На основании приведенных данных в таблице Excel создаем таблицу 3, содержащую описание полей производительности автосамосвалов по месяцам: январь, февраль, март, апрель, май, июнь. Эту таблицу создадим в среде Access.

Таблица 3 - Проектирование таблицы «Производительность»

Имя поля

Тип

Свойства поля

Подпись

Код самосвала

Счетчик

 

 

Номер самосвала

Числовой

 

 

Январь

Числовой

 

 

Февраль

Числовой

 

 

Март

Числовой

 

 

Апрель

Числовой

 

 

Май

Числовой

 

 

Июнь

Числовой

 

 

8.2 Загружаем программу Access и выбираем команду «Создание новой базы данных», задаем имя базы данных Автосамосвалы.mdb. Выби-

раем объект «Таблицы», команду «Создать таблицу» в режиме «Конструктор». Вводим имена полей, задаем тип полей и заносим характеристики полей создаваемой таблицы (см. таблицу 3). После конструирования таблицы сохраняем её с заданием имени таблицы "Производительность". Открываем созданную таблицу (см. рисунок 11) и заносим в неё значения аналогичные таблице Excel (см. рисунок 1 или таблицу 1).

Рисунок 11 – Таблица «Производительность» 8.3.1 В окне базы данных выбираем объект «Формы» и команду

«Создать» – «Автоформа: в столбец». Форму сохраняем под именем "Производительность" (см. рисунок 12).

Рисунок 12 – Форма «Производительность» 8.4 Разработка запроса с вычисляемым полем по суммарной произ-

водительности каждого самосвала. Переходим на вкладку «Запросы». Вы-

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

Рисунок 13 – Формирование вычисляемого поля в «Построителе выражений».

Сохраняем и выполняем запрос, результат выполнения запроса представлен на рисунке 14.

Рисунок 14 – Запрос «Суммарная производительность»

Запрос – это динамический набор данных, которые отражаются в момент его выполнения. В системе запрос создается и хранится в виде кода SQL. Для просмотра кода SQL созданного запроса, откройте его в Конструкторе запросов и выполните команду ЗАПРОС – Запрос SQL. Ниже приведен код запроса «Суммарная производительность».

SELECT Производительность.НомерСамосвала, Производительность.Январь, Производительность.Февраль, Производительность.Март, Производительность.Апрель, Производительность.Май, Производительность.Июнь, [Январь]+[Февраль]+[Март]+[Апрель]+[Май]+[Июнь] AS СумПроизв

FROM Производительность;

После слова SELECT указаны поля, отобранные в запрос и в том числе вычисляемое поле. После слова FROM указано имя таблицы из которой отобраны поля.

8.5Отчет разрабатывается с использованием «Мастера отчетов», основой для отчета могут служить таблицы и запросы. В нашем случае основой отчета будет запрос, отбираем в него нужные поля из запроса, если данные можно сгруппировать, то нужно выполнить группировку и получить итоги по группе. В нашем примере группировки нет, поэтому итоговые поля вставим в отчет вручную в режиме «Конструктора». Для этого после создания отчета «Мастером» откройте его, посмотрите на результат, чтобы увидеть все недостатки и переключите отчет в режим «Конструктора».

8.6Добавление вычисляемого поля в отчет (см. рисунок 15).

Надпись

Поле ввода

Надпись

Рисунок 15 – Добавление вычисляемого поля в отчет в режиме «Конструктора»

Увеличьте мышью раздел «Примечание отчета» и вставьте в него поле ввода с Панели инструментов «Элементы управления», например под столбец Январь и наберите в поле формулу =Sum([Январь]). Название поля