Автоматизация работы предприятия ООО "Стимул-Брест"

Министерство образования республики Беларусь

Минский государственный высший радиотехнический колледж

Пояснительная записка

к курсовому проекту по предмету

"Системное и прикладное программное обеспечение"

на тему "Автоматизация работы предприятия ООО "Стимул-Брест"

КП 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>