Министерство образования республики Беларусь
Минский государственный высший радиотехнический колледж
Пояснительная записка
к курсовому проекту по предмету
"Системное и прикладное программное обеспечение"
на тему "Автоматизация работы предприятия ООО "Стимул-Брест"
КП 83.81004.401ПЗ
Руководитель проекта
Мещерякова А. А.
Студент
Бояревич И.Н.
Минск 2006
Содержание
Введение
1. Анализ задачи
1.1 Описание предметной области
1.2 Модель данных
1.3 Инструменты разработки
1.4 Требования к приложению
2. Проектирование задачи
2.1 Организация данных
2.2 Концептуальный прототип
2.3 Система справочной информации
2.4 Средства защиты и разграничение доступа к данным
3. Реализация
3.1 Логическая и физическая организация функций
3.2 Функции и элементы управления
3.3 Функциональное тестирование
4. Применение
4.1 Назначение
4.2 Среда функционирования
Заключение
Литература
Приложение А
Приложение Б
Введение
Восьмидесятые годы – это время прихода персональных компьютеров (ПК), а вместе с ними программ обработки данных общего назначения, первоначально оформленных в виде баз данных. И хотя они служили превосходным средством для работы с небольшими массивами данных, их возможностей часто оказывалось слишком мало для проведения специального анализа больших массивов данных. В начале 90-х годов многие компании рассчитывали воспользоваться преимуществами разработанных к тому времени компьютерных технологий обработки данных, и миллионы долларов были инвестированы в развитие больших информационных систем, использующих языки программирования высокого уровня, такие как Кобол, Си и Паскаль. Хотя такие пользовательские системы обеспечивали возможность анализа больших массивов данных, они требовали значительных затрат на стадии разработки и их было трудно поддерживать на стадии эксплуатации. Они также имели тенденцию быть либо слишком предметно-ориентированными, либо излишне общими. Тем временем были предприняты попытки, встроить некоторые возможности языков программирования высокого уровня в существовавшие тогда СУБД путем создания макроязыков. Однако даже в начале 90-х годов возможности макроязыков в СУБД были весьма ограничены. Макроязыки (основанные на запоминании последовательности нажатых клавиш) были недостаточно мощны, а процедурно-ориентированные языки трудны для большинства пользователей. Были также предприняты попытки по уменьшению сложности средств разработки программ высокого уровня. Введение средств визуального программирования в системы, работающие на базе ПК, упростило разработку приложений, которые ранее создавались на языках высокого уровня, значительно уменьшив тем самым как стоимость, так и усилия, затрачиваемые на создание таких систем. Сейчас стало очевидным, что идеальное средство разработки информационных систем на базе ПК должно объединять вычислительные возможности СУБД, с одной стороны, и возможности современных визуальных средств разработки приложений – с другой. Такие средства позволят различным фирмам разрабатывать и поддерживать гибкие и эффективные информационные системы за меньшее время и с меньшими затратами. Microsoft Access – это средство разработки информационных систем нового поколения, совмещающее в себе все преимущества как средств создания баз данных, так и средств визуального программирования. Действительно, Access – это первая СУБД, предлагающая визуальное средство разработки – язык Visual Basic for Applications, более известный как VBA, который обеспечивает полный доступ из программ пользователя ко всем функциям анализа данных, имеющимся в этой программе. С помощью VBA можно легко и быстро создавать пользовательские приложения, используя единую для всех офисных программ среду и язык. Научившись разрабатывать приложения для одной офисной программы, например Access, можно создавать приложения и для других офисных программ, например Excel. Кроме того, по своей структуре, интерфейсу и синтаксису Visual Basic for Application образует ядро Visual Basic. Изучение VBA совсем не требует быть профессиональным программистом. VBA обладает мощными встроенными интеллектуальными средствами, которые позволяют даже начинающему пользователю быстро самостоятельно разрабатывать профессиональные приложения. Например, при написании кода программы редактор VBA сам предлагает пользователю возможные продолжения составляемых им инструкций. Другим примером встроенных интеллектуальных средств VBA является макрорекордер, который переводит все выполняемые вручную пользователем действия в основном приложении на язык VBA. Таким образом макрорекордер позволяет пользователю поручать VBA самому создавать большие куски кода разрабатываемого приложения.
1. Анализ задачи
1.1 Описание предметной области
Целью данного проекта является разработка базы данных "Автоматизация работы предприятия ООО ‘Стимул-Брест’", предназначенной для просмотра данных о производимой предприятием продукции, а также информацию о клиентах. БД предназначена для наиболее простой и доступной работы с интерфейсом приложения, а также некоторыми другими возможностями этого программного продукта. Программное средство должно быть разработано на основе системы управления базами данных (СУБД) MS Access 2000 для функционирования под управлением операционной системы Windows 98/2000. ПС должно обладать простым и понятным интерфейсом, а также руководством, помогающим пользователю разобраться с управлением в процессе выполнения программы. Требования, как к программному, так и к аппаратному обеспечению, должны быть, по возможности, минимальными. Программа должна адекватно реагировать на все возникающие в процессе работы программы ситуации и обрабатывать их в соответствии с алгоритмом поставленной задачи. Программа должна предоставлять пользователю следующий набор операций по обработке информации:
позволять вводить, удалять и редактировать информацию, содержащуюся в архивах данных;
позволять получать различного вида отчёты, просматривать их и выводить на печать.
Главная задача данного приложения: обеспечить пользователя всей доступной информацией по разным направлениям.
1.2 Модель данных
После создания различных таблиц, содержащих данные, относящиеся к различным аспектам базы данных необходимо продумать, каким образом Microsoft Access будет объединять эти данные при их извлечении из базы данных. Первым шагом при этом является определение связей между таблицами. После этого становится возможным создание запросов, форм и отчётов, в которых выводятся данные из нескольких таблиц сразу. Наиболее распространёнными являются виды связей: "один – к – одному", "многие – к – одному", "многие – ко – многим". В данном курсовом проекте реализовано два вида связей. Связь "один – к – одному" применяется между таблицами "Заказы" и "Сотрудники", "Заказы" и "Доставка", "Оплата" и "Метод оплаты". Связь "один – ко – многим" устанавливается между таблицами "Клиенты" и "Заказы", "Заказы" и "Сведения о заказе", "Товары" и "Сведения о заказе", "Заказы" и "Оплата".
1.3 Инструменты разработки
Для реализации поставленной задачи, в качестве среды разработки приложения выбрана система управления базами данных (СУБД) Microsoft Access 2000 и встроенный макроязык Visual Basic for Application (VBA). С помощью VBA можно легко и быстро создавать пользовательские приложения, используя единую для всех офисных программ среду и язык. Научившись разрабатывать приложения для одной офисной программы, например Access, можно создавать приложения и для других офисных программ, например Excel. Кроме того, по своей структуре, интерфейсу и синтаксису Visual Basic for Application образует ядро Visual Basic. Поэтому тот, кто изучит программирование на VBA очень быстро может освоить и Visual Basic.
1.4 Требования к приложению
Прежде чем приступать к разработке приложения, надо чётко представлять, как им будут пользоваться. Это представление формально реализует интерфейс между диалогом пользователя и приложения. Интерфейс должен содержать достаточно информации, чтобы диалоговая форма появлялась на экране в желаемом виде.
При разработке приложения необходимо создать собственный интерфейс управления системой. Необходимо исключить из меню и панели инструментов основного приложения команды и кнопки, которые не относятся к разрабатываемому приложению, а нужно добавить в интерфейс новые разработанные средства. Окно приложения должно иметь стандартное оформление. В строке заголовка названия приложения необходимо указать имя создаваемого приложения. Меню должно содержать набор действий, предоставляющих пользователю доступ к основным функциям приложения. При необходимости выбор пункта меню сопровождается выпадающим меню, содержащим соответствующий список действий. Название пунктов меню должны отображать закреплённые функции приложения. Если при выполнении действия будет развёрнуто диалоговое окно, то необходимо после названия поставить многоточие. Панель инструментов должна содержать кнопки основных действий и функции приложения. Вид панели инструментов должен соответствовать набору действий, доступных в определённом режиме работы с приложением. Вывод и удаление панели инструментов должно производится программно. Методы создания строк меню и их элементов управления можно применить к разработке контекстных меню. В приложении должны быть разработаны необходимые контекстные меню и заданы моменты их вывода. Они также должны содержать действия необходимые для приложения.
В приложении необходимо также создать средства защиты, которые позволяют каждому пользователю или категории видеть или изменять только те данные или объекты, на которые ему были выданы права администратором системы (например, невозможно редактировать данные в формах без соответствующего разрешения). Данные можно защитить паролем или разрешить только просмотр данных.
2. Проектирование задачи
2.1 Организация данных
В Microsoft Access, прежде чем создавать таблицы, формы и другие объекты необходимо задать структуру базы данных. Хорошая структура базы данных является основой для создания эффективной базы данных, соответствующей определённым требованиям.
Этапы проектирования базы данных
А) Определение цели создания базы данных.
Б) Определение таблиц, которые должна содержать база данных.
В) Определение необходимых полей в таблице.
Г) Задание индивидуального значения каждому полю.
Д) Определение связей между таблицами.
Е) Обновление структуры базы данных.
Ж) Добавление данных и создание других объектов базы данных.
З) Использование средств анализа в Microsoft Access.
А) Определение цели создания базы данных
На первом этапе проектирования базы данных необходимо определить цель создания базы данных, основные её функции и информацию, которую она должна содержать. То есть нужно определить основные темы таблиц базы данных и информацию, которую будут содержать поля таблиц.
База данных должна отвечать требованиям тех, кто будет непосредственно с ней работать. Для этого нужно определить темы, которые должна раскрывать база данных, отчёты, которые она должна выводить, сравнить создаваемую базу данных с хорошо спроектированной, подобной ей базой.
Б) Определение таблиц, которые должна содержать база данных
Одним из наиболее сложных этапов в процессе проектирования базы данных является разработка таблиц, так как результаты, которые должна выдавать база данных не всегда дают полное представление о структуре таблицы.
При проектировке таблиц, рекомендуется руководствоваться следующими основными принципами:
Информация в таблице, по возможности, не должна дублироваться. Не должно быть повторений и между таблицами.
Когда определённая информация храниться только в одной таблице, то и изменять её придётся только в одном месте. Это делает работу более эффективной и простой, а также исключает возможность несовпадения информации в разных таблицах.
Каждая таблица должна содержать информацию только на одну тему.
Сведения на каждую тему обрабатываются намного легче, если содержатся они в разных таблицах. Например, основная и дополнительная информация хранятся в разных таблицах, с тем, чтобы дополнительная информация отображалась только по мере надобности.
В) Определение необходимых в таблице полей
Каждая таблица содержит информацию на отдельную тему, а каждое поле в таблице содержит отдельные сведения по теме таблицы. Например, в таблице с основными данными о заказах по клиентам могут содержаться поля с условиями оплаты и доставки.
При разработке полей для каждой таблицы необходимо помнить:
Каждое поле должно быть связано с темой таблицы.
Не рекомендуется включать в таблицу данные, которые являются результатом выражения.
В таблице должна присутствовать вся необходимая информация.
Информацию следует по возможности разбивать на наименьшие логические единицы.
Г) Задание индивидуального значения каждому полю
С тем чтобы Microsoft Access мог связать данные из разных таблиц. Каждая таблица должна содержать поле или набор полей, которые будут задавать индивидуальное значение каждой записи в таблице. Такое поле или набор полей называют основным ключом.
Д) Определение связей между таблицами
После распределения данных по таблицам и определения ключевых полей необходимо выбрать схему для связи данных в разных таблицах. Для этого нужно определить связи между таблицами.
Желательно изучить связи между таблицами в уже существующей базе данных.
Е) Обновление структуры базы данных
После проектирования таблиц, полей и связей необходимо ещё раз просмотреть структуру базы данных и выявить возможные недочёты. Желательно это сделать на данном этапе, пока таблицы не заполнены данными.
Для проверки необходимо создать несколько таблиц, определить связи между ними и ввести несколько записей в каждую таблицу, затем посмотреть, отвечает ли база данных поставленным требованиям. Рекомендуется также создать черновые выходные формы и отчёты и проверить, выдают ли они требуемую информацию. Кроме того, необходимо исключить из таблиц все возможные повторения данных.
Ж) Добавление данных и создание других объектов базы данных
Если структуры таблиц отвечают поставленным требованиям, то можно вводить все данные. Затем можно создавать любые запросы, формы, отчёты, макросы и модули.
З) Использование средств анализа в Microsoft Access
В Microsoft Access существует два инструмента для усовершенствования структуры баз данных. Мастер анализа таблиц исследует таблицу, в случае необходимости предлагает новую её структуру и связи, а также переделывает её. Анализатор быстродействия исследует всю базу данных, даёт рекомендации по её улучшению, а также осуществляет их.
2.2 Концептуальный прототип
Под концептуальным прототипом проектирования задачи подразумевается описание внешнего пользовательского интерфейса, а именно:
описание системы пользовательского меню, имеется в виду строку меню.
описание элементов управления (различных кнопок, при помощи которых облегчается работа пользователя).
Разработанная строка меню содержит набор действий, предоставляющих пользователю доступ к основным функциям приложения. Названия пунктов меню отображаются закреплёнными функциями приложения. В этом приложении строка меню содержит следующие пункты меню и подменю:
пункт меню Файл, содержит следующие пункты подменю:
Выход, завершает работу приложением.
Печать, выводит на печать главный отчет.
пункт меню Формы, содержит следующие пункты подменю:
Продукция, выводит информацию о производимой продукции.
Сотрудники, выводит информацию об агентах по продаже.
Заказы по клиентам, выводит информацию о клиентах и их заказах.
пункт меню Отчёты, содержит следующие пункты меню:
Неоплаченные счета, отображает информацию о всех неоплаченных счетах.
Продажи по клиентам, выводит информацию о сумме долга по каждому клиенту.
Продажи по товарам, выводит информацию о количестве по каждому типу заказанной продукции и общей сумме.
пункт меню Помощь, содержит следующие пункты меню:
Справка, выводит справку по данной базе данных.
Показать помощника, запускает справку-скрепыш.
О базе, выводит некоторые данные о предприятии.
Панель инструментов состоит из панели инструментов созданной программно, и содержит кнопки необходимых действий и функций приложения. Вид панели инструментов не постоянный и меняется на протяжении работы с базой. Например, при работе с данными в отчётах можно использовать некоторые возможности панели "Предварительный просмотр". Все кнопки на панели инструментов имеют всплывающие подсказки. Вывод панелей инструментов производится программно, а скрыть панели можно как программно, так и искусственно, кроме главной панели. А также, чтобы пользователю было удобнее работать с приложением и панелью инструментов, он может перетащить панель инструментов в удобное для него место (например, панель находится вверху, а пользователю удобнее, когда панель находится внизу или слева, или справа), кроме главной панели.
При нажатии правой кнопки мыши в поле формы, появляется контекстное меню, содержащее примерно следующие пункты:
Свойства, показывает форму свойств выбранного элемента формы.
Вырезать, удаляет выделенное пользователем и помещает это в буфер.
Копировать, копирует в буфер выделенный объект.
Вставить, вставляет содержимое буфера обмена.
Выделить всё, выделяет полностью объект и все его содержимое.
Сортировка по возрастанию, сортирует данные в поле по возрастанию.
Сортировка по убыванию, сортирует данные в поле по убыванию.
Найти…, вызывает одноимённое диалоговое окно, позволяющее найти любой текст, введенный пользователем.
Конструктор форм, открывает текущую форму в режиме конструктора.
Режим таблицы, открывает текущую форму в режиме таблицы.
При нажатии правой кнопки мыши в любом из отчётов, появляется контекстное меню, содержащее следующие пункты:
Печать…, открывает одноименное диалоговое окно, в котором пользователь устанавливает все необходимые параметры перед выводом на печать.
Параметры страницы…, открывает одноименное диалоговое окно, в котором пользователь делает необходимые установки страниц.
Масштаб, позволяет выбрать пользователю масштаб отображения отчёта.
Сохранить как..., позволяет сохранить отчёт в базе под другим именем.
Экспорт…, позволяет экспортировать отчёт с сохранением его в различном виде под различные приложения.
Каждое приложение имеет своё окно, в котором выводятся результаты его работы. Кроме окна приложения, широко используются диалоговые окна. Диалоговые окна можно перемещать по экрану, но они имеют постоянные размеры и их нельзя свернуть или развернуть.
Окно проекта в редакторе VBA активируется выбором команды вид, окно проекта или нажатием кнопки окно проекта. В окне проекта представлена иерархическая структура файлов форм и модулей текущего проекта.
В проекте автоматически создается модуль для каждого рабочего листа и для всей книги. Кроме того, модули создаются для каждой пользовательской формы, макросов и классов. По своему назначению модули делятся на два типа: модули объектов и стандартные. К стандартным модулям относятся те, которые содержат макросы. К модулям объектов относятся модули, связанные с рабочей книгой, рабочими листами, формами, и модулями класса.
В окне проекта выводится проект всех открытых рабочих книг. Это позволяет легко копировать формы и коды из одного проекта в другой, что убыстряет процесс создания новых приложений.
Окно для редактирования кода. Перемещение указателя на значок файла в окне проекта и выполнение двойного щелчка кнопкой мыши открывает окно редактора кода для соответствующего модуля.
Окно редактирования кода служит в качестве редактора для ввода и изменения кода процедур приложения. Код внутри модуля организован в виде отдельных разделов для каждого объекта, программируемого в модуле. В окне редактирования доступны два режима представления кода: просмотр отдельной процедуры и всего модуля. Переключение режимов работы окна редактирования кода осуществляется выбором одной из двух кнопок в нижнем левом углу окна редактирования кода, либо установкой или снятием флажка просмотр всего модуля вкладки редактор диалогового окна параметры, отображаемого на экране командой сервис, параметры.
2.3 Система справочной информации
Одна из важнейших составляющих успеха приложения – полноценное документирование всех его возможностей, чтобы пользователь всегда мог обратиться за помощью, если возникли трудности. Один из способов документирования – создание справочной системы.
Справочная система позволяет получить информацию по работе с программой. При этом можно ознакомиться как с общим обзором темы, так и с отдельными вопросами. Обратиться за помощью к справочной подсистеме можно, выбрав в меню "Помощь" раздел "Справка". На экране появится окно справки, сделанной при помощи HTML. Оно поможет ответить на вопросы.
В процессе программирования пользователю предоставляется широкий выбор персонажей. Справка и помощник создавались с помощью функций VBA. Программирование "Помощника" осуществлялось с помощью объекта Assistant, который также позволяет обратиться к объектам Balloon содержащим список разделов справки. Для управления движениями помощника использовалось свойство Animation. Листинг программы можно найти в "Приложении Б".
Система справочной информации является стандартным средством всех приложений. Создание файла справки – это не только создание файла, но и составление перечня вопросов, на которые необходимо дать ответ. Помощник и файл справки повышают удобство использования приложения, предоставляя всю необходимую информацию.
Помощник программируется на VBA при помощи объекта Assistant. Структура объекта Assistant приведена на рисунке. Важной особенностью объекта является то, что это единичный объект, не являющийся элементом никакого семейства объектов. В каждый момент можно вывести только одного помощника. Но помощника можно видоизменять по ходу работы программы. Объект Balloon представляет собой окно помощника, содержащее список разделов справки, связанных с помощником.
2.4 Средства защиты и разграничение доступа к данным
Существует несколько способов защиты данных в приложении. Одним из них является задание пароля базы данных. В данной базе, при её открытии, запрашивается пароль, и поэтому не любой пользователь имеет возможность работы с базой данных
При работе с базой в любом состоянии ни кто не имеет прямого доступа к окну базы данных, т.е. ко всем формам, отчётам, запросам, таблицам и модулям на прямую. При работе с базой редактор VB недоступен, а доступ к коду VBA заблокирован (запаролен). Для того чтобы просмотреть код, необходимо ввести пароль, который знает только разработчик данного программного продукта. Это так же один из методов защиты информации.
Для считывания информации при помощи инструкции Input # из файла, файл последовательного доступа иногда удобно задавать как последовательность записей, причем каждая из записей формируется из группы полей. Отметим, что такая группировка по записям не является чем-то присущим файлам последовательного доступа. Это просто подход, позволяющий упростить процесс последовательного считывания записей. В файле последовательного доступа существует только одна внутренняя структура, образованная разделителями.
В противоположность файлам последовательного доступа, в файлах произвольного доступа запись является встроенным элементом. Файл произвольного доступа – это файл, упорядоченный по записям, что позволяет быстро переместиться на любую запись, минуя предыдущие.
При создании файла произвольного доступа указывается максимальная длина каждой записи. Само собой разумеется, что в любую запись можно Вводить данные, занимающие не все место, выделенное для записи, но нельзя ввести данные, требующие больше места, чем допустимая длина записи. Лишняя информация будет просто усекаться. На практике бывает удобно создавать отдельный файл, в котором хранится информация о структуре файла произвольного доступа: структура записи, ее длина и заголовки полей.
3. Реализация
3.1 Логическая и физическая организация функций
В процессе разработки данного программного продукта было реализовано множество функций и процедур. Каждая из процедур или функций отвечает за определённые действия и выполняется в определённый момент времени. Посредством существующих процедур происходит обработка событий, запуск различных форм и отчётов, проверка на ошибки, которые могут возникнуть при работе с базой и многое другое. Некоторые процедуры и функции непосредственно взаимосвязаны между собой, т.е. при обработке какого-нибудь события одна процедура может ссылаться на другую. Таких взаимосвязей в данной базе довольно много, т.к. это облегчает написание обработок событий, и делает программный код VBA более читабельным. Примером может послужить, например процедура Form_Load(), которая ссылается на процедуры, которые находятся в разных модулях. При написании программы был создан один модуль, который имеет набор процедур и функций, отвечающих за определённые действия. Модуль, при запуске базы, создаёт панель инструментов с набором определённых возможностей и помещает её сверху программы. Так же этот модуль производит удаление этой панели при закрытии главной кнопочной формы; отвечает за появление и дальнейшее поведение справки-учёного, а так же он производит запуск файла справки Help.html, который находится в той же директории на жёстком диске, где и сама база. Модуль производит запуск, соответствующих выбору пользователя, отчётов. Написание модулей, отвечающих за определённые действия, значительно облегчают читабельность и поиск ошибок при написании программы.
3.2 Функции и элементы управления
Далее приведены основные модули программы с описанием. Модуль – Assistant_module. Public Sub MyAssistant() – инициализация функции MyAssistant. Dim MA As Assistant – объявление переменной MA
Set MA = Assistant – задание переменной MA свойств объекта Assistant
MA.FileName = "\Program files\Microsoft Office\Office\ clippit.acs" – инициализация файла внешнего вида помощника
MA.Visible = True – вывод помощника на экран дисплея
MA.MoveWhenInTheWay = True – задание помощнику свойства MoveWhenInTheWay (т. е. Помощник сдвигается в сторону так чтобы не мешать пользователю вводить или просматривать текст)
MA.Animation = msoAnimationSearching – помощнику передаётся свойство анимации-поиска. Dim MB As Balloon – объявление переменной MB. Set MB = MA.NewBalloon – переменная МВ инициализируется как NewBallon (). With MB – объявление цикла With
Heading = "Помощник по курсовому проекту ''ООО "СТИМУЛ-БРЕСТ'''
Text = "Значения кнопок в меню:"
Labels(1).Text = "Сведения о фирме."
Labels(2).Text = "Продукция."
Labels(3).Text = "Информация о проекте."
Labels(4).Text = "Попрощаться с помощником."
BalloonType = msoBalloonTypeButtons
Mode = msoModeModeless
End With
MB.Show
End Sub
С полным кодом VBA можно ознакомиться в Приложении Б.
3.3 Функциональное тестирование
При запуске нашего приложения экран будет выглядеть так, как показано на "рисунке 3" Приложения А. Появившаяся главная кнопочная форма снабжена пользовательским меню. Посредством этого меню пользователь может произвести следующие действия: запустить подчинённые формы, такие как "Заказы по клиентам", "Просмотр других сведений", "Просмотр отчетов"; просмотреть, распечатать различные итоговые отчёты; узнать об условиях заказа, доставки, оплаты; просмотреть информацию о продукции; получить помощь по пользованию базой данных и некоторые сведения о разработчике то бишь, обо мне; отправить почту на мой электронный ящик; выйти из приложения. Рассмотрим все возможности подробнее:
1. Кнопка "Заказы по клиентам". При нажатии этой кнопки происходит запуск соответствующей формы, изображённой на "рисунке 4" Приложения А. С помощью этой формы можно узнать данные по заказчику (ФИО, адрес, телефон, название организации). Тут пользователь может выбрать определённого клиента из списка и просмотреть данные о нём или непосредственно о его заказе. Имеется так же возможность узнать дополнительные данные о выбранном клиенте. Это можно осуществить при помощи кнопки "Заказы…", "Платежи…". Пример можно посмотреть на "рисунке 5" Приложения А.
2. Кнопка "Продукция". При нажатии этой кнопки происходит запуск соответствующей формы, изображённой на "рисунке 6" Приложения А. С помощью этой формы можно узнать, всю информацию по каждому производимому товару, его особые характеристики. Например, скорость отдельных прицепных машин и модели тракторов, с которыми они применяются.
3. Кнопка "Просмотр отчетов". При нажатии этой кнопки происходит запуск формы, в которой отображены некоторые отчеты: отчет по просмотру клиентов, их заказы, неоплаченные счета, количество и типы заказанных товаров, общая сумма по каждому типу.
4. Кнопка "Выход". Позволяет закрыть главную форму и выйти из приложения Microsoft Access. Эта функция написана при помощи стандартных функций Visual Basic for Application.
5. Меню "Помощь". С помощью данного выпадающего меню можно вызвать справку ("рисунок 2"). Справка была написана при помощи языка HTML. В ней подробно описана сама база и способ работы с ней. В справке очень удобно расположены ссылки на страницы в которых представлены основные формы база данных.
6. Меню "Отчёты". С помощью данного выпадающего меню можно просмотреть отчёты по неоплаченным счетам, в которых отображаются все данные о долгах покупателей; по клиентам, где указанны номера счетов, количество и тип заказанной продукции, общая сумма оплаты; по продукции, здесь непосредственно отображается общее количество и тип заказанной на предприятии продукции всеми клиентами. Перед тем, как просмотреть определенный отчет пользователю предлагается ввести начальную дату заказа и конечную дата оплаты за приобретенную продукцию.
7. Меню "Формы". С помощью данного выпадающего меню можно узнать открыть некоторые наиболее важные формы: "Заказы по клиентам", где указаны все необходимые данные требующиеся фирме для доставки товара и для предоставления счета заказчику; "Сотрудники", здесь перечислены все сотрудники, занимающиеся поиском клиентов и составлением контрактов, их рабочий и домашний телефоны, должность; "Продукция", в этой форме можно найти любую интересующую продукцию предприятия, подробную информацию о каждой из них.
4. Применение
4.1 Назначение
Это приложение может применяться для просмотра данных по производимой предприятием ООО "Стимул-Брест" продукции. К примеру, этой программой могут пользоваться агенты по продаже для составления контрактов, клиенты для просмотра продукции, а также для добавления информации о новых сотрудниках и продукции или внесении каких-либо корректировок, например для изменения в место жительства какого-либо сотрудника, его телефон или для внесения дополнительных корректировок в модификацию определенной марки сельскохозяйственной машины которые применяются в садах нашей республики.
Эта база данных предназначена для работы в наши дни, а также и для работы в будущем (с учётом того, что база будет обновляться по мере надобности). При внесении несущественных изменений этим приложением могут пользоваться и другие предприятия, подобные предприятию ООО "Стимул-Брест". С помощью этого приложения можно легко и быстро узнать всю необходимую информацию о самой фирме, ее истории, условиях доставки производимой продукции и об условиях оплаты, о сотрудниках и о составленных ими контрактами.
4.2 Среда функционирования
Для оптимальной работы с приложением нет необходимости в больших финансовых затратах на приобретение мощного компьютерного и периферийного оборудования. Ниже приведены минимальные требования к компьютерному и периферийному оборудованию:
от Intel Pentium – 60 МГц и выше;
RAM – 16 Мб;
HDD – 190 Мб;
VIDEO – 1 Мb;
Принтер
Windows9x
Access - 2000
Заключение
Цель этого приложения - создать эффективную информационную базу данных для организации просмотра сведений о предприятии по производству сельскохозяйственных машин предприятия ООО "Стимул-Брест".
В этом отчёте было описано приложение "Автоматизация работы предприятия ООО ‘Стимул-Брест", которое было написано с помощью среды разработки баз данных MS Access 2000 и макроязыка программирования VBA. Это приложение, возможно, в дальнейшем найдёт своё место в компьютерах данной фирмы, так как этот программный продукт достаточно прост в обращении и не доставит проблем даже не очень опытному пользователю.
Литература
Харитонова И.А., Михеева В.Д. Microsoft Access 2000.-С-Пб.:БХВ – Санкт-Петербург, 2000.-1088 с.
Багласова Т.Г. Системное и прикладное программное обеспечение. Лабораторный практикум.– Мн,:МГВРК, 1999
Гурская И.Ф. Оформление текстовой документации.– Мн.:МГВРК, 1997
Нортон П. Разработка приложений в Access 97.-С-Пб.:BHV, 1998
Новалис С. Руководство по макроязыку и VBA. - 1998
Браун С. Visual Basic 6.0: учебный курс.-С-Пб.:ЗАО "Издательство "Питер", 1999.-576 с.
Приложение А
Рис.1 Схема данных
Рис.2 Сообщение об ошибке
Рис.3 Помощник
Рис.4 Главная кнопочная форма
Рис.5 Заказы по клиентам
Рис.6 Форма по продукции
Приложение Б
Private Sub Form_Open(Cancel As Integer)
' Minimize the database window and initialize the form.
Dim dbs As Database
Dim rst As Recordset
On Error GoTo Form_Open_Err
' Minimize the database window.
DoCmd.SelectObject acForm, "Switchboard", True
DoCmd.Minimize
' Make sure we have company information
DoCmd.Hourglass False
Set dbs = CurrentDb()
Set rst = dbs.OpenRecordset("Сведения об организации")
If rst.RecordCount = 0 Then
rst.AddNew
rst![Адрес] = Null
rst.Update
MsgBox "Перед использованием приложения необходимо ввести название, адрес и дополнительные сведения об организации."
DoCmd.OpenForm "Сведения об организации", , , , , acDialog
End If
rst.Close
dbs.Close
' Move to the switchboard page that is marked as the default.
Me.Filter = "[ItemNumber] = 0 AND [Argument] = 'Default' "
Me.FilterOn = True
Form_Open_Err:
MsgBox Err.Description
Resume Form_Open_Exit
End Sub
Private Sub Form_Current()
' Update the caption and fill in the list of options.
Me.Caption = Nz(Me![ItemText], "")
FillOptions
End Sub
Private Sub FillOptions()
' Fill in the options for this switchboard page.
' The number of buttons on the form.
Const conNumButtons = 8
Dim con As Object
Dim rs As Object
Dim stSql As String
Dim intOption As Integer
' Set the focus to the first button on the form,
' and then hide all of the buttons on the form
' but the first. You can't hide the field with the focus.
Me![Option1].SetFocus
For intOption = 2 To conNumButtons
Me("Option" & intOption).Visible = False
Me("OptionLabel" & intOption).Visible = False
Next intOption
' Open the table of Switchboard Items, and find
' the first item for this Switchboard Page.
Set con = Application.CurrentProject.Connection
stSql = "SELECT * FROM [Switchboard Items]"
stSql = stSql & " WHERE [ItemNumber] > 0 AND [SwitchboardID]=" & Me![SwitchboardID]
stSql = stSql & " ORDER BY [ItemNumber];"
Set rs = CreateObject("ADODB.Recordset")
rs.Open stSql, con, 1 ' 1 = adOpenKeyset
' If there are no options for this Switchboard Page,
' display a message. Otherwise, fill the page with the items.
If (rs.EOF) Then
Me![OptionLabel1].Caption = "There are no items for this switchboard page"
Else
While (Not (rs.EOF))
Me("Option" & rs![ItemNumber]).Visible = True
Me("OptionLabel" & rs![ItemNumber]).Visible = True
Me("OptionLabel" & rs![ItemNumber]).Caption = rs![ItemText]
rs.MoveNext
Wend
End If
' Close the recordset and the database.
rs.Close
Set rs = Nothing
Set con = Nothing
End Sub
Private Function HandleButtonClick(intBtn As Integer)
' This function is called when a button is clicked.
' intBtn indicates which button was clicked.
' Constants for the commands that can be executed.
Const conCmdGotoSwitchboard = 1
Const conCmdOpenFormAdd = 2
Const conCmdOpenFormBrowse = 3
Const conCmdOpenReport = 4
Const conCmdCustomizeSwitchboard = 5
Const conCmdExitApplication = 6
Const conCmdRunMacro = 7
Const conCmdRunCode = 8
Const conCmdOpenPage = 9
' An error that is special cased.
Const conErrDoCmdCancelled = 2501
Dim con As Object
Dim rs As Object
Dim stSql As String
On Error GoTo HandleButtonClick_Err
' Find the item in the Switchboard Items table
' that corresponds to the button that was clicked.
Set con = Application.CurrentProject.Connection
Set rs = CreateObject("ADODB.Recordset")
stSql = "SELECT * FROM [Switchboard Items] "
stSql = stSql & "WHERE [SwitchboardID]=" & Me![SwitchboardID] & " AND [ItemNumber]=" & intBtn
rs.Open stSql, con, 1 ' 1 = adOpenKeyset
' If no item matches, report the error and exit the function.
If (rs.EOF) Then
MsgBox "There was an error reading the Switchboard Items table."
rs.Close
Set rs = Nothing
Set con = Nothing
Exit Function
End If
Select Case rs![Command]
' Go to another switchboard.
Case conCmdGotoSwitchboard
Me.Filter = "[ItemNumber] = 0 AND [SwitchboardID]=" & rs![Argument]
' Open a form in Add mode.
Case conCmdOpenFormAdd
DoCmd.OpenForm rs![Argument], , , , acAdd
' Open a form.
Case conCmdOpenFormBrowse
DoCmd.OpenForm rs![Argument]
' Open a report.
Case conCmdOpenReport
DoCmd.OpenReport rs![Argument], acPreview
' Customize the Switchboard.
Case conCmdCustomizeSwitchboard
' Handle the case where the Switchboard Manager
' is not installed (e.g. Minimal Install).
On Error Resume Next
Application.Run "ACWZMAIN.sbm_Entry"
If (Err <> 0) Then MsgBox "Command not available."
On Error GoTo 0
' Update the form.
Me.Filter = "[ItemNumber] = 0 AND [Argument] = 'Default' "
Me.Caption = Nz(Me![ItemText], "")
FillOptions
' Exit the application.
Case conCmdExitApplication
CloseCurrentDatabase
' Run a macro.
Case conCmdRunMacro
DoCmd.RunMacro rs![Argument]
' Run code.
Case conCmdRunCode
Application.Run rs![Argument]
' Open a Data Access Page
Case conCmdOpenPage
DoCmd.OpenDataAccessPage rs![Argument]
' Any other command is unrecognized.
Case Else
MsgBox "Unknown option."
End Select
' Close the recordset and the database.
rs.Close
HandleButtonClick_Exit:
On Error Resume Next
Set rs = Nothing
Set con = Nothing
Exit Function
HandleButtonClick_Err:
' If the action was cancelled by the user for
' some reason, don't display an error message.
' Instead, resume on the next line.
If (Err = conErrDoCmdCancelled) Then
Resume Next
Else
MsgBox "There was an error executing the command.", vbCritical
Resume HandleButtonClick_Exit
End If
End Function
Private Sub Кнопка34_Click()
Dim Begin As Label
Dim X As Integer
Dim mes As Integer
Dim MyAssistant As Assistant
Dim NewBalloon As Balloon
Set MyAssistant = Assistant
Set NewBalloon = MyAssistant.NewBalloon
MyAssistant.FileName = "clippit.act"
MyAssistant.Animation = msoAnimationGreeting
Begin:
With NewBalloon
Heading = "Помощник по курсовому проекту ''ООО 'СТИМУЛ-БРЕСТ'''"
Text = "Значения кнопок в меню :"
Labels(1).Text = "Сведения о фирме."
Labels(2).Text = "Продукция."
Labels(3).Text = "информация о проекте."
Labels(4).Text = "Попрощаться с помощником."
End With
X = NewBalloon.Show
If X = 1 Then
mes = MsgBox("Предприятие ООО 'СТИМУЛ-БРЕСТ' производит С/Х машины. Предприятие находится по адресу: 224022, г.Брест, Красный двор", vbInformation)
GoTo Begin
End If
If X = 2 Then
mes = MsgBox("Таблица отображает информацию о продукции, которую производит данная фирма.", vbInformation)
GoTo Begin
End If
If X = 3 Then
mes = MsgBox("Курсовой проект по теме'' Автоматизация работы предприятия ООО 'СТИМУЛ-БРЕСТ'. '' разработан студентом IV курса группы 8381 Бояревичем И.Н. ", vbOKOnly)
GoTo Begin
End If
If X = 4 Then
mes = MsgBox("Bye-bye!!!")
GoTo Begin
End If
End Sub
Private Sub справка_Click()
Dim Begin As Label
Dim X As Integer
Dim mes As Integer
Dim MyAssistant As Assistant
Dim NewBalloon As Balloon
Set MyAssistant = Assistant
Set NewBalloon = MyAssistant.NewBalloon
MyAssistant.FileName = "clippit.act"
MyAssistant.Animation = msoAnimationGreeting
Begin:
With NewBalloon
Heading = "Помощник по курсовому проекту ''ООО 'СТИМУЛ-БРЕСТ'''"
Text = "Значения кнопок в меню :"
Labels(1).Text = "Сведения о фирме."
Labels(2).Text = "Продукция."
Labels(3).Text = "информация о проекте."
Labels(4).Text = "Попрощаться с помощником."
End With
X = NewBalloon.Show
If X = 1 Then
mes = MsgBox("Предприятие ООО 'СТИМУЛ-БРЕСТ' производит С/Х машины. Предприятие находится по адресу: 224022, г.Брест, Красный двор", vbInformation)
GoTo Begin
End If
If X = 2 Then
mes = MsgBox("Таблица отображает информацию о продукции, которую производит данная фирма.", vbInformation)
GoTo Begin
End If
If X = 3 Then
mes = MsgBox("Курсовой проект по теме'' Автоматизация работы предприятия ООО 'СТИМУЛ-БРЕСТ'. '' разработан студентом IV курса группы 8381 Бояревичем И.Н. ", vbOKOnly)
GoTo Begin
End If
If X = 4 Then
mes = MsgBox("Bye-bye!!!")
GoTo Begin
End If
End Sub
Public Sub Form_Load()
Dim MyMenu As CommandBar
Dim cbFileB As CommandBarPopup
Dim cbEditB As CommandBarPopup
Dim cbViewB As CommandBarPopup
Dim cbHelpB As CommandBarPopup
Dim cbInsertB As CommandBarPopup
Dim cbFormatB As CommandBarPopup
Dim cbOpenB As CommandBarButton
Dim cbSaveB As CommandBarButton
Dim cbExitB As CommandBarButton
' Создание строки главного меню
Set MyMenu = CommandBars.Add(Name:="KCmdBar", MenuBar:=True, Temporary:=True, Position:=msoBarTop)
' Создание меню Файл
Set cbFileB = MyMenu.Controls.Add(Type:=msoControlPopup)
cbFileB.Caption = "Файл"
' Создание меню Отчеты
Set cbEditB = MyMenu.Controls.Add(Type:=msoControlPopup)
cbEditB.Caption = "Отчёты"
' Создание меню Формы
Set cbViewB = MyMenu.Controls.Add(Type:=msoControlPopup)
cbViewB.Caption = "Формы"
' Создание меню Справка
Set cbHelpB = MyMenu.Controls.Add(Type:=msoControlPopup)
cbHelpB.Caption = "Помощь"
' Создание меню Файл
Set Печать = cbFileB.Controls.Add(Type:=msoControlButton)
Печать.Style = msoButtonCaption
Печать.Caption = "Печать..."
Печать.OnAction = "Печать"
MyMenu.Visible = True
Set cbExitB = cbFileB.Controls.Add(Type:=msoControlButton)
With cbExitB
Style = msoButtonCaption
Caption = "Выход"
OnAction = "Exit"
End With
MyMenu.Visible = True
Set cbSotrOtchet = cbEditB.Controls.Add(Type:=msoControlButton)
With cbSotrOtchet
Style = msoButtonCaption
Caption = "Неоплаченные счета"
OnAction = "Неоплаченные_счета"
End With
MyMenu.Visible = True
Set cbPostOtchet = cbEditB.Controls.Add(Type:=msoControlButton)
With cbPostOtchet
Style = msoButtonCaption
Caption = "Продажи по клиентам"
OnAction = "По_клиентам"
End With
MyMenu.Visible = True
Set cbTovarOtchet = cbEditB.Controls.Add(Type:=msoControlButton)
With cbTovarOtchet
Style = msoButtonCaption
Caption = "Продажи по товарам"
OnAction = "По_товарам"
End With
MyMenu.Visible = True
Set cbPost = cbViewB.Controls.Add(Type:=msoControlButton)
With cbPost
Style = msoButtonCaption
Caption = "Продукция"
OnAction = "товары"
End With
MyMenu.Visible = True
Set cbPostй = cbViewB.Controls.Add(Type:=msoControlButton)
With cbPostй
Style = msoButtonCaption
Caption = "Сотрудники"
OnAction = "Сотрудники"
End With
MyMenu.Visible = True
Set cbPostц = cbViewB.Controls.Add(Type:=msoControlButton)
With cbPostц
Style = msoButtonCaption
Caption = "Заказы_по_клиентам"
OnAction = "Заказы_по_клиентам"
End With
MyMenu.Visible = True
' Set cbPostк = cbViewB.Controls.Add(Type:=msoControlButton)
' With cbPostк
' .Style = msoButtonCaption
' .Caption = "Кто, где работает"
' .OnAction = "Кто-где_Форма_Меню"
' End With
' MyMenu.Visible = True
' Создание ассистента
Set FGq = cbHelpB.Controls.Add(Type:=msoControlButton)
FGq.Style = msoControlButton
FGq.Caption = "Показать помощника"
FGq.OnAction = "Аситсент"
Set FG = cbHelpB.Controls.Add(Type:=msoControlButton)
FG.Style = msoControlButton
FG.Caption = "О_предприятии"
FG.OnAction = "О_предприятии"
Set Sprav = cbHelpB.Controls.Add(Type:=msoControlButton)
Sprav.Style = msoControlButton
Sprav.Caption = "Справка"
Sprav.OnAction = "help"
End Sub