Информационно-аналитическая система для контроля хода литейного производства
К недостаткам VBA можно отнести невозможность создания более-менее автономного кода, а также проблемы с совместимостью (исходный код, написанный в более новом программном пакете может не запуститься или выдавать ошибки при запуске в более старом). Также к недостаткам часто относят и слишком высокую открытость кода для случайного изменения. Тем не менее, многие программные пакеты, поддерживающие… Читать ещё >
Информационно-аналитическая система для контроля хода литейного производства (реферат, курсовая, диплом, контрольная)
КУРСОВАЯ РАБОТА По дисциплине «Информатика»
На тему:
«Информационно-аналитическая система для контроля хода литейного производства»
СОДЕРЖАНИЕ ВВЕДЕНИЕ
1. ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННО-ЛОГИЧЕСКОЙ МОДЕЛИ
1.1 Задание на курсовую работу
1.2 Описание таблиц и полей данных
1.3 Организация связей между таблицами
2. ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА АЛГОРИТМОВ
2.1 Начало работы с программой
2.2 Алгоритмы добавления данных
2.3 Алгоритмы поиска
3. ПРОЕКТИРОВАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА
3.1 Главное меню программы
3.2 Основные формы программы
3.3 Этапы загрузки данных
3.4 Справочная система ЗАКЛЮЧЕНИЕ СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ВВЕДЕНИЕ Данная программа предназначена для отслеживания процессов выпуска продукции в литейном производстве. Также она включает все циклы технологических процессов при выполнении продукции.
Немного про VBA (Visual Basic for Application).
Visual Basic for Applications (VBA, Visual Basic для приложений) — немного упрощённая реализация языка программирования Visual Basic, встроенная в линейку продуктов Microsoft Office (включая версии для Mac OS), а также во многие другие программные пакеты, такие как AutoCAD, SolidWorks, CorelDRAW, WordPerfect и ESRI ArcGIS. VBA покрывает и расширяет функциональность ранее использовавшихся специализированных макро-языков, таких как WordBasic.
VBA является интерпретируемым языком. Как и следует из его названияVBA близок к Visual Basic. VBA, будучи языком, построенным на COM, позволяет использовать все доступные в операционной системе COM объекты и компоненты ActiveX. По сути, возможно создание приложения на основе Microsoft Word VBA.
Чтобы использовать VBA с приложениями (Access, Excel, Word) необходимо использовать соответствующую терминологию и языковые конструкции. Это так называемая «объектная модель приложения». Карта объектной модели является сетевой для Excel, Word.
К достоинствам языка можно отнести сравнительную лёгкость освоения, благодаря которой приложения могут создавать даже пользователи, не программирующие профессионально.
К недостаткам VBA можно отнести невозможность создания более-менее автономного кода, а также проблемы с совместимостью (исходный код, написанный в более новом программном пакете может не запуститься или выдавать ошибки при запуске в более старом). Также к недостаткам часто относят и слишком высокую открытость кода для случайного изменения. Тем не менее, многие программные пакеты, поддерживающие VBA (в частности, MS Office) позволяют зашифровать исходный код и установить пароль на его просмотр, использующего только средства Corel Draw.
Использование VBA для решения инженерных, экономических и др. задач во многом упрощает повседневную работу и повышает производительность труда.
1. ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННО-ЛОГИЧЕСКОЙ МОДЕЛИ
1.1 Задание на курсовую работу
Создать программу для контроля хода литейного производства, на основе таблицы «Отливки» (рис. 1.1): Код отливки, наименование, гнездность, вес отливки (кг), вес куста (кг).
1.2 Описание таблиц и полей данных
Таблица «Отливка» состоит из 5 столбцов:
Код отливки Наименование Гнездность Вес отливки Вес куста Рис. 1.1
Эта таблица служит для хранения постоянной, то есть неизменяемой информации, которая будет использоваться программой для заполнения следующей таблицы (рис. 1.1(б)):
Рис. 1.1(б) Таблица (рис. 1.1(б)) состоит из 31 столбца. Она включает в себя всю таблицу «Отливки». Из 31 значений пользователем будет вводиться лишь 6, вводимых в столбцы Код отливки, заливка за сутки (шт), Брак с нач. месяца (шт), сдача за сутки (шт), реализация (шт), № месяца. Остальные же значения будут считаться по определённым для каждого столбца формулам. Таких таблиц как на рис. 1.1(б) двенадцать штук, для каждого месяца в году.
Описание полей данных таблицы «Отливки» рис 1.1(в):
Наименование поля | Тип данных | Размер | |
Код отливки | Числовой | ||
Наименование | Строковый | ||
Гнездность | Числовой | ||
Вес отливки | Числовой | ||
Вес куста | Числовой | ||
Рис 1.1(в)
Для таблиц на листах с «Январь» по «Декабрь»:
Наименование поля | Тип данных | Размер | |
Код отливки | Числовой | ||
Наименование | Строковый | ||
Гнездность | Числовой | ||
Вес отливки, кг | Числовой | ||
Вес куста, кг | Числовой | ||
Остаток СГП на нач. мес., шт | Числовой | ||
Остаток СГП на нач. мес., кг | Числовой | ||
Остаток НЗП на нач. мес., шт | Числовой | ||
Остаток НЗП на нач. мес., кг | Числовой | ||
Остаток НЗП на нач. мес., мет-ть | Числовой | ||
Заливка за сутки, шт | Числовой | ||
Заливка за сутки, кг | Числовой | ||
Заливка за сутки, мет-ть | Числовой | ||
Заливка с нач. месяца, шт | Числовой | ||
Заливка с нач. месяца, кг | Числовой | ||
Заливка с нач. месяца, мет-ть | Числовой | ||
Остаток НЗП текущий, шт | Числовой | ||
Остаток НЗП текущий, кг | Числовой | ||
Остаток НЗП текущий, мет-ть | Числовой | ||
Брак с начала месяца, шт | Числовой | ||
Брак с начала месяца, кг | Числовой | ||
Брак с начала месяца, мет-ть | Числовой | ||
Сдача за сутки, шт | Числовой | ||
Сдача за сутки, кг | Числовой | ||
Сдача с нач месяца, шт | Числовой | ||
Сдача с нач месяца, кг | Числовой | ||
Остаток СГП текущий, шт | Числовой | ||
Остаток СГП текущий, кг | Числовой | ||
Реализация, шт | Числовой | ||
Реализация, кг | Числовой | ||
№ месяца | Числовой | ||
1.3 Организация связей между таблицами
2. ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА АЛГОРИТМОВ
2.1 Начало работы с программой Объект UserForm представляет собой окно или диалоговое окно, являющееся составной частью интерфейса пользователя в приложении.
Формы пользователя имеют свойства, определяющие внешний вид, как например, положение, размер, цвет и реакция на события.
Формы пользователя также могут реагировать на события, инициированные пользователем или запущенные системой.
Например, пользователь может написать подпрограмму обработки события Initialize (Инициализация) для UserForm, чтобы инициализировать переменные уровня модуля до того, как UserForm будет выведена на экран.
Помимо свойств и событий для программной обработки форм пользователя могут использоваться методы.
Например, можно использовать метод Move для изменения положения и размера формы UserForm.
Практически во всех приложениях MS Office используются пользовательские диалоговые окна. Диалоговые окна в VBA называются формами (объект UserForms). Каждому объекту UserForm присущи определенные свойства, методы и события, которые он наследует от класса объектов UserForms.
Диалоговые окна (формы) и элементы управления составляют основу современного визуального интерфейса. Все элементы управления и технология работы с ними в основном стандартизованы и похожи для разных платформ и программных сред. Эти объекты помещены в специальную библиотеку MS Forms.
Выделим основные моменты, которые следует иметь в виду при создании визуального интерфейса.
· Все загруженные диалоговые окна представляют коллекцию UserForms со стандартными методами и свойствами. Элемент коллекции — объект класса UserForm — задает отдельное окно.
· Для каждого типа элементов управления в библиотеке MS Forms имеется класс объектов, имя которого совпадает с именем элемента управления (его типа). Например, есть класс TextBox.
· Диалоговые окна создаются, как правило, не программно, а визуально. Вначале создается само окно, а затем оно наполняется элементами управления при помощи соответствующей панели элементов. Этот этап называется этапом проектирования, и его следует отличать от этапа выполнения, когда приложение выполняется и конечный пользователь взаимодействует с приложением, в частности через диалоговые окна и их элементы управления. Как только создается диалоговое окно и помещается в него тот или иной элемент управления, в этот же самый момент автоматически в программе появляется объект соответствующего класса, с которым можно работать, вызывая его методы и изменяя его свойства.
На этапе проектирования, используя окно свойств, можно задать большинство свойств, как самого диалогового окна, так и всех элементов управления, помещенных в него, кроме этого, программно необходимо прописать все обработчики событий.
При конструировании форм пользователя следует задать свойство BorderStyle для определения границ и свойство Caption для занесения текста в область заголовка. В программе можно использовать методы Show и Hide, чтобы делать форму соответственно видимой и невидимой во время выполнения.
Рис. 2.1 («Меню»)
Кнопка «Меню» вызывает форму «Меню». Алгоритм работы данной кнопки в конструкции VBA:
Sub Кнопка1_Щелчок ()
UserForm6.Show
End Sub
Кнопка «Начать работу» вызывает вторую форму «Добавление данных». Алгоритм работы данной кнопки в конструкции VBA:
Private Sub CommandButton1_Click ()
UserForm6.Hide
UserForm3.Show
End Sub
Кнопка «Поиск» вызывает форму «Поиск». Алгоритм работы данной кнопки в конструкции VBA:
Private Sub CommandButton4_Click ()
UserForm6.Hide
UserForm5.Show
End Sub
Кнопка «Выход» позволяет завершить работу с программой, скрывая пользовательскую форму. Алгоритм работы данной кнопки в конструкции VBA:
Private Sub CommandButton3_Click ()
End
End Sub
таблица данные программа алгоритм
2.2 Алгоритмы добавления данных
Добавление в таблицы происходит с помощью специальных форм, которые содержат поля предназначенные для ввода в них соответствующей информации. После ввода необходимо нажать на одну из кнопок (с января по декабрь), запуститься процедура, которая вносит в таблицу данные из полей формы.
Данные процедуры работают на основе оператора If.Then.
Рассмотрим код для кнопки «Январь»:
Private Sub CommandButton5_Click ()
If TextBox6. Text = 1 Then Лист5. Activate
i = 3
Do
i = i + 1
If Cells (i, 1) = TextBox1. Text Then
i = i — 2
Cells (i + 2, 1) = TextBox1. Text
Cells (i + 2, 11) = TextBox2. Text
Cells (i + 2, 20) = TextBox3. Text
Cells (i + 2, 23) = TextBox4. Text
Cells (i + 2, 29) = TextBox5. Text
Cells (i + 2, 31) = TextBox6. Text
Cells (i + 2, 27) = Cells (i + 2, 29)
Cells (i + 2, 24) = Cells (i + 2, 28) * Cells (i + 2, 29)
Cells (i + 2, 7) = Cells (i + 2, 6) * Cells (i + 2, 4)
Cells (i + 2, 9) = Cells (i + 2, 8) * Cells (i + 2, 4)
Cells (i + 2, 10) = (Cells (i + 2, 8) * Cells (i + 2, 5)) / Cells (i + 2, 3)
Cells (i + 2, 12) = Cells (i + 2, 11) * Cells (i + 2, 40)
Cells (i + 2, 13) = (Cells (i + 2, 11) * Cells (i + 2, 5)) / Cells (i + 2, 3)
Cells (i + 2, 15) = Cells (i + 2, 13) * Cells (i + 2, 4)
Cells (i + 2, 16) = (Cells (i + 2, 14) * Cells (i + 2, 5)) / Cells (i + 2, 3)
Cells (i + 2, 17) = Cells (i + 2, 11) — (Cells (i + 2, 20) + Cells (i + 2, 23))
Cells (i + 2, 18) = Cells (i + 2, 17) * Cells (i + 2, 4)
Cells (i + 2, 19) = (Cells (i + 2, 17) * Cells (i + 2, 5)) / Cells (i + 2, 3)
Cells (i + 2, 21) = Cells (i + 2, 20) * Cells (i + 2, 4)
Cells (i + 2, 21) = (Cells (i + 2, 20) * Cells (i + 2, 5)) / Cells (i + 2, 3)
Cells (i + 2, 24) = Cells (i + 2, 23) * Cells (i + 2, 4)
Cells (i + 2, 26) = Cells (i + 2, 25) * Cells (i + 2, 4)
Cells (i + 2, 30) = Cells (i + 2, 29) * Cells (i + 2, 4)
i = i + 2
a = 1
End If
Loop Until Cells (i, 2) = Empty
If a <> 1 Then
i = i — 2
Cells (i + 2, 1) = TextBox1. Text
Cells (i + 2, 11) = TextBox2. Text
Cells (i + 2, 20) = TextBox3. Text
Cells (i + 2, 23) = TextBox4. Text
Cells (i + 2, 29) = TextBox5. Text
Cells (i + 2, 31) = TextBox6. Text
Cells (i + 2, 27) = Cells (i + 2, 29)
Cells (i + 2, 24) = Cells (i + 2, 28) * Cells (i + 2, 29)
Cells (i + 2, 7) = Cells (i + 2, 6) * Cells (i + 2, 4)
Cells (i + 2, 9) = Cells (i + 2, 8) * Cells (i + 2, 4)
Cells (i + 2, 10) = (Cells (i + 2, 8) * Cells (i + 2, 5)) / Cells (i + 2, 3)
Cells (i + 2, 12) = Cells (i + 2, 11) * Cells (i + 2, 40)
Cells (i + 2, 13) = (Cells (i + 2, 11) * Cells (i + 2, 5)) / Cells (i + 2, 3)
Cells (i + 2, 15) = Cells (i + 2, 13) * Cells (i + 2, 4)
Cells (i + 2, 16) = (Cells (i + 2, 14) * Cells (i + 2, 5)) / Cells (i + 2, 3)
Cells (i + 2, 17) = Cells (i + 2, 11) — (Cells (i + 2, 20) + Cells (i + 2, 23))
Cells (i + 2, 18) = Cells (i + 2, 17) * Cells (i + 2, 4)
Cells (i + 2, 19) = (Cells (i + 2, 17) * Cells (i + 2, 5)) / Cells (i + 2, 3)
Cells (i + 2, 21) = Cells (i + 2, 20) * Cells (i + 2, 4)
Cells (i + 2, 21) = (Cells (i + 2, 20) * Cells (i + 2, 5)) / Cells (i + 2, 3)
Cells (i + 2, 24) = Cells (i + 2, 23) * Cells (i + 2, 4)
Cells (i + 2, 26) = Cells (i + 2, 25) * Cells (i + 2, 4)
Cells (i + 2, 30) = Cells (i + 2, 29) * Cells (i + 2, 4)
i = i + 2
a = 1
End If
End Sub
Коды для остальных месяцев будут аналогичны коду для кнопки «Январь». Будет лишь меняться строка «If TextBox6. Text = „номер месяца“ Then Лист „номер соответствующего листа“. Activate»
Оператор If… Then проверяет, нет ли такого же ключа в данной таблице (ключ — уникальное значение для строки, которое однозначно определяет строку).
Остальные процедуры также используют этот оператор и имеют сходную структуру программы.
2.4 Алгоритмы поиска
Кнопка «Поиск» на форме «Поиск» служит для поиска из таблицы «Отливки» данные о каждой из позиции. Результат поиска отображается на отдельных для каждого значения полях. Например, для TextBox2 соответствует значение столбца «Наименование».
Рисунок 2.3
Код программы поиска:
Private Sub CommandButton1_Click ()
Лист1.Activate
Do
i = i + 1
Loop Until Cells (i, 1) = Empty
If a <> 1 Then
TextBox6 = TextBox7
a = 1
End If
Лист1.Activate
Do
i = i + 1
Loop Until Cells (i, 1) = Empty
For i = 1 To j
Next i
j = TextBox6. Text
TextBox6.Text = i
If TextBox6. Text <> «» Then
TextBox6.Text = TextBox7
End If
If TextBox7 = TextBox6. Text Then
TextBox2.Text = Cells (i + j, 2)
End If
If TextBox7 = TextBox6. Text Then
TextBox3.Text = Cells (i + j, 3)
End If
If TextBox7 = TextBox6. Text Then
TextBox4.Text = Cells (i + j, 4)
End If
If TextBox7 = TextBox6. Text Then
TextBox5.Text = Cells (i + j, 5)
End If
End Sub
3. ПРОЕКТИРОВАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА
3.1 Главное меню программы При активизации рабочей книги пользователь (при необходимости) должен кликнуть по кнопке «Меню», которая открывает форму «Меню», содержащую следующие кнопки:
Поиск — открывает форму для поиска позиций по индивидуальному коду;
Начать работу — открывает форму для работы с таблицами на листах с 5-го по 12-й;
Об авторе — Открывает форму с информацией об авторе;
Выходс помощью оператора End закрывает форму «Меню»
Форма главного меню выглядит следующим образом (Рисунок 3.1):
Рисунок 3.1
3.2 Основные формы программы Рисунок 3.2 а Эта пользовательская форма (рис. 3.2 а) позволяет работать с таблицей, содержащей исходные данные. Исходные данные для этой формы находятся на листе «Отливки». Эта форма позволяет вводить пользователю минимум данных для заполнения таблиц «Январь», …, «Декабрь».
3.3 Этапы загрузки данных Например таблица «Март»
3.4 Справочная система ЗАКЛЮЧЕНИЕ Созданная программа позволит ускорить процесс контроля выпуска продукции в литейном производстве. А также, благодаря этой программе, пользователю будет намного облегчена задача по сбору информации, например, сколько штук залито в течение года одного изделия или сколько было сдано на склад продукции в течение II квартала и т. д.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Практикум по информатике. Учебное пособие Е. В. Михеева 3-е изд. стер. М.ИЦ. Академия 2006.
2. Информатика. Учебник И. И. Сергеева М. ФОРУМ ИНФРА-М. 2009.
3. Кузьменко В. Г. VBA: учебник, Бином, 2009.
4. Роман С. Использование макросов в Excel. — 2-е изд., Спб.: Питер, 2004.
5. Гладких А. А., Чиртик А. А. Excel. Трюки и эффекты. — СПб.: Питер, 2011.