Автор работы: Пользователь скрыл имя, 08 Ноября 2012 в 11:18, курсовая работа
Задача: Оценить текущий запас готовой продукции на складах предприятия.
Выдать отчет в разрезе складов и тех изделий, текущий остаток которых меньше установленного нормативного запаса (дефицит).
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ. 4
1.1. Описание предметной области решаемой задачи. 4
1.2. Функции предметной области, реализуемые задачей. 5
1.3. Перечень документов. 5
2. ПОСТАНОВКА ЗАДАЧИ. 5
2.1. Организационно-экономическая сущность задачи. 5
2.2. Форматы входных документов. 5
2.3. Описание выходной информации задачи. 8
3. РАЗРАБОТКА ИНФОРМАЦИОННОГО ОБЕСПЕЧЕНИЯ ЗАДАЧИ. 9
3.1. Информационный анализ входной информации, необходимой для решения задачи и выделение информационных объектов предметной области. 9
3.1.1. Анализ информации справочных документов 9
3.1.2. Анализ информации договора. 10
3.1.3. Анализ информации цеховой накладной. 10
3.1.4. Анализ информации ТТН 11
3.2. Определение связей информационных объектов и построение ИЛМ. 13
3.3. Определение логической структуры базы данных. 15
3.4. Разработка исходных данных контрольного примера. 16
3.5 Создание базы данных на компьютере. 16
4.ТЕХНОЛОГИЯ И АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ И ИХ МАШИННАЯ РЕАЛИЗАЦИЯ. 17
4.1. Описание технологии ввода в базу данных входной информации задачи. 17
4.1.1. Разработка таблиц базы данных СУБД Access. 17
4.1.2. Создание схемы данных. 19
4.1.3. Пользовательские формы. 20
4.2. Обобщенный алгоритм решения задачи. 23
4.3. Алгоритмы реализации отдельных модулей задачи и их реализация. 24
4.3.1. Создание запросов. 24
4.3.2. Проектирование отчета. 26
5. РАЗРАБОТКА ДИАЛОГОВОГО ПРИЛОЖЕНИЯ ПОЛЬЗОВАТЕЛЯ. 27
5.1.Разработка и реализация пользовательского меню приложения. 27
5.2. Инструкция пользователю по решению задачи. 30
Для создания и редактирования структуры таблицы предусмотрен режим Конструктора таблицы. Ниже приведено описание полей таблиц СУБД Access, которые будут нам необходимы для решения поставленной задачи (табл. 10). Жирным шрифтом выделены ключевые поля.
Таблица 10
Имя таблицы |
Имя реквизита |
Имя поля |
Тип данных |
Размер поля |
Справочник продукции |
Код изделия |
КОД_ИЗД |
Текстовый |
3 |
Наименование изделия |
НАИМ_ИЗД |
Текстовый |
30 | |
Код ед. измерения |
КОД_ЕД_ИЗМ |
Текстовый |
1 | |
Цена за ед. измерения |
ЦЕНА |
Денежный |
--- | |
Код склада |
КОД_СКЛАДА |
Текстовый |
2 | |
Нормативный запас |
НОРМ_ЗАПАС |
Числовой |
Целое | |
Справочник единиц измерения |
Код ед. измерения |
КОД_ЕД_ИЗМ |
Текстовый |
1 |
Наименование ед. измерения |
НАИМ_ЕД_ИЗМ |
Текстовый |
10 | |
Справочник складов |
Код склада |
КОД_СКЛАДА |
Текстовый |
2 |
Наименование склада |
НАИМ_СКЛАДА |
Текстовый |
20 | |
Зав. складом |
ЗАВ_СКЛАД |
Текстовый |
20 | |
Телефон |
ТЕЛЕФОН |
Текстовый |
8 | |
Справочник цехов |
Код цеха |
КОД_ЦЕХА |
Текстовый |
2 |
Наименование цеха |
НАИМ_ЦЕХА |
Текстовый |
30 | |
ФИО начальника |
ФИО-НАЧ |
Текстовый |
25 | |
Телефон |
ТЕЛЕФОН |
Текстовый |
9 | |
Справочник заказчиков |
Код заказчика |
КОД_ЗАКАЗЧИКА |
Текстовый |
3 |
Наименование заказчика |
НАИМ_ЗАКАЗЧИКА |
Текстовый |
30 | |
Адрес |
АДРЕС |
Текстовый |
30 | |
ФИО руководителя |
ФИО_РУК-ЛЯ |
Текстовый |
20 | |
Банк |
БАНК |
Текстовый |
20 | |
Договор |
№ договора |
№_ДОГОВОРА |
Текстовый |
5 |
Дата заключения |
ДАТА |
Дата/время |
--- | |
Код заказчика |
КОД_ЗАКАЗЧИКА |
Текстовый |
3 | |
Цеховая накладная |
№ цеховой накладной |
№_ЦЕХ_НАКЛ |
Текстовый |
4 |
Код цеха |
КОД_ЦЕХА |
Текстовый |
2 | |
Код склада |
КОД_СКЛАДА |
Текстовый |
2 | |
Дата сдачи на склад |
ДАТА_СДАЧИ |
Дата/время |
--- | |
Спецификация цеховой накладной |
№ цеховой накладной |
№_ЦЕХ_НАКЛ |
Текстовый |
4 |
Код цеха |
КОД_ЦЕХА |
Текстовый |
2 | |
Код изделия |
КОД_ИЗД |
Текстовый |
3 | |
Количество |
КОЛ-ВО_ИЗД |
Числовой |
Целое | |
ТТН |
№ ТТН |
№_ТТН |
Текстовый |
4 |
№ договора |
№_ДОГОВОРА |
Текстовый |
5 | |
Дата отгрузки |
ДАТА_ОТГРУЗКИ |
Дата/время |
--- | |
Спецификация ТТН |
№ ТТН |
№_ТТН |
Текстовый |
4 |
Код изделия |
КОД_ИЗД |
Текстовый |
3 | |
Количество |
ОТГРУЖЕНО |
Числовой |
Целое |
В окне Таблица1: таблица создадим структуру таблицы Справочник продукции согласно приведенному описанию в таблице выше. При создании структуры таблиц в верхней части окна задаются имена полей, тип данных, отмечаются ключевые поля. В нижней части окна в области под названием Свойства поля во вкладке Общие задаются свойства активного поля.
После того, как мы создали структуру таблицы, необходимо ее сохранить. Для этого выполним команду Файл/ Сохранить и введем имя таблицы Справочник продукции.
Аналогично создадим и все остальные таблицы.
После того, как были созданы структуры всех таблиц для данной задачи в соответствии с таблицей 10, необходимо создать схему данных. Схема данных строится на основе логической модели, разработанной при проектировании базы данных. В ней определяются и запоминаются связи между таблицами. Эти связи в дальнейшем будут использованы при создании форм, запросов, отчётов. К тому же эти связи будут обеспечивать целостность взаимосвязанных данных при корректировке таблиц.
Для создания схемы данных надо нажать кнопку Схема данных. Затем в окне Добавление таблицы добавить поочередно все таблицы. Далее необходимо создать связи между добавленными таблицами. Для создания связи необходимо в главной таблице выбрать поле, по которому устанавливается связь. Затем при нажатой кнопке мыши соединить это поле с соответствующим полем подчиненной таблицы.
После того как намечена очередная связь между таблицами, появляется окно Изменение связей, в котором определён тип отношений один-ко-многим. В этом окне необходимо установить флажки напротив функций: Обеспечение целостности данных, Каскадное обновление связанных полей, Каскадное удаление связанных записей. Эти функции помогают при дальнейшей работе с данными.
Установим связь между таблицами Справочник складов и Справочник продукции:
Аналогично устанавливаются связи между другими таблицами. В результате получаем следующую схему данных:
Пользовательская форма
Однотабличная форма.
Для создания однотабличной формы необходимо:
Если необходимо отредактировать размер полей или добавить такие объекты как кнопка, список и др., уже готовую форму необходимо открыть в конструкторе.
Однотабличные формы, используемые в моей базе данных:
Многотабличные формы.
Аналогично однотабличным формам необходимо построить многотабличные формы. Они строятся также с помощью мастера форм, однако добавляются поля не из одной таблицы, а из нескольких. После создания формы ее также можно отредактировать в конструкторе.
Сложная форма ТТН.
В конструкторе кроме изменений, связанных с изменением размера и местоположения полей формы, мы сделаем еще несколько преобразований:
1. Кнопка, открывающая форму Календарь, которая позволяет добавлять дату в поле Дата отгрузки.
2. Раскрывающиеся списки в полях
3. Заблокируем поля, которые заполняются автоматически после выбора значения из раскрывающегося списка.
4. Вычисляемые поля Сумма (считает сумму, на которую поставлен один товар) и Итого (считает общую сумму по всей накладной).
5. Кнопки перехода к следующей и предыдущей записям, а также кнопку выхода из данной формы.
Аналогично я создала многотабличную форму Цеховая накладная, и также дополнила ее с помощью конструктора:
1. Добавила кнопку, открывающую
форму Календарь, которая
2. Раскрывающиеся списки в полях
3. Заблокируем поля, которые заполняются автоматически после выбора значения из раскрывающегося списка.
5. Кнопки перехода к следующей и предыдущей записям, а также кнопку выхода из данной формы.
Для того чтобы заполнить базу данных данными, необходимо использовать эти формы. Данные вводятся в соответствие с теми уровнями, которые были обозначены в информационно логической модели.
Алгоритм решаемой задачи должен привести нас к отчету. В отчете должны быть указаны те наименования товаров, которые находятся на складах в недостаточном количестве. Для того чтобы рассчитать недостающее количество товаров, необходимо выполнить ряд запросов. Последовательность действий, которые должны быть выполнены для построения отчета, указаны в следующей схеме:
Для реализации поставленной задачи мной было спроектировано 4 запроса, каждый из которых служил для решения отдельной части всей задачи.
Каждый запрос строился с помощью Конструктора, включая который, мы видим диалоговое окно, позволяющее нам добавить таблицы или уже существующие запросы, на основании которых будет строиться данный запрос.
Запрос 1: «Сдача на склад». В этом запросе суммируется количество изделий, сданных на склад с начала года.
Запрос 2: «Отгрузка со склада». В этом запросе суммируется количество изделий, отгруженных со склада заказчикам.
Запрос 3: «Остаток». В этом запросе считается текущий остаток на складах. Запрос строится на предыдущих запросах. Формула для подсчета текущего остатка строится с помощью построителя выражений.
Запрос 4: «Определение дефицита». В этом запросе рассчитывается дефицит как разница между текущим запасом и нормативным запасом. Разница рассчитывается для всех товаров, однако выводятся только те наименования, для которых она отрицательна. Так как значение дефицита, которое выводится на экран, должно быть положительно, используем функцию Abs. Именно на основании этого запроса будет строиться отчет.
На каждом из представленных рисунков видно, какие таблицы использовались для каждого запроса и какие поля выводились на экран.
После того как все запросы построены и получен результат, можно сконструировать отчет. Сначала построим отчет с помощью мастера, а затем сможем его отредактировать с помощью Конструктора.
Пример готового отчета приведен в Приложении В. Вывод отчета на печать можно выполнить с помощью кнопки Печать на панели инструментов или команды Файл/Печать.
Для управления в диалоговом режиме объектами базы данных Access можно использовать кнопочные формы. Кнопочная форма (КФ) – это панель управления, которая обеспечивает переход к страницам кнопочной формы, а также выполнение отдельных команд. На панели кнопочной формы должны быть размещены кнопки для возвращения к главной странице кнопочной формы и страницам предыдущих уровней, а также кнопка выхода из приложения (базы данных). Структура кнопочной формы представлена в таблице 11.
Таблица 11.
Название страницы КФ |
Элементы данной кнопочной формы |
Команда |
Главная кнопочная форма (ГКФ) |
Посмотреть отчет |
Открыть отчет Определение дефицита |
Редактирование данных |
Перейти к кнопочной форме Редактирование данных | |
Добавление данных |
Перейти к кнопочной форме Добавление данных | |
Информация о разработчике |
Выполнить макрос Информация | |
Редактирование данных |
Справочники |
Перейти к кнопочной форме Справочники |
Документы |
Перейти к кнопочной форме Документы | |
На главную |
Перейти к ГКФ | |
Справочники |
Справочник продукции |
Открыть форму для изменения: Форма Справочник продукции |
Справочник единиц измерения |
Открыть форму для изменения: Форма Справочник ед. измерения | |
Справочник складов |
Открыть форму для изменения: Форма Справочник складов | |
Справочник цехов |
Открыть форму для изменения: Форма Справочник цехов | |
Справочник заказчиков |
Открыть форму для изменения: Форма Справочник заказчиков | |
Назад |
Перейти к кнопочной форме Редактирован | |
На главную |
Перейти к ГКФ | |
Документы |
Перечень договоров |
Открыть форму для изменения: Форма Договор |
ТТН |
Открыть форму для изменения: Форма ТТН | |
Цеховые накладные |
Открыть форму для изменения: Форма Цеховая накладная | |
Назад |
Перейти к кнопочной форме Редактирован | |
На главную |
Перейти к ГКФ | |
Добавление данных |
Справочные данные |
Перейти к кнопочной форме Справочные данные |
Новый документ |
Перейти к кнопочной форме Новый документ | |
На главную |
Перейти к ГКФ | |
Справочные данные |
Продукция |
Открыть форму для добавления: Форма Справочник продукции |
Единица измерения |
Открыть форму для добавления: Форма Справочник ед. измерения | |
Склад |
Открыть форму для добавления: Форма Справочник складов | |
Цех |
Открыть форму для добавления: Форма Справочник цехов | |
Заказчик |
Открыть форму для добавления: Форма Справочник заказчиков | |
Назад |
Перейти к кнопочной форме Добавление данных | |
На главную |
Перейти к ГКФ | |
Новый документ |
Договор |
Открыть форму для добавления: Форма Договор |
ТТН |
Открыть форму для добавления: Форма ТТН | |
Цеховая накладная |
Открыть форму для добавления: Форма Цеховая накладная | |
Назад |
Перейти к кнопочной форме Добавление данных | |
На главную |
Перейти к ГКФ |
Обязательно в кнопочной форме должны быть предусмотрены кнопки выхода из кнопочной формы и из приложения.
Для того чтобы создать кнопочную форму нужно открыть Сервис/ Служебные программы/ Диспетчер кнопочных форм и создать страницы кнопочной формы и необходимые кнопки на них (в соответствие с данными таблицы 11). Затем кнопочную форму можно открыть для редактирования с помощью конструктора на вкладке Формы.
Кнопочная форма готова.
Итак, переходы по страницам кнопочной формы осуществляются по схеме:
Важно сделать так, чтобы при запуске работала начиналась с меню, то есть с кнопочной формы. Для этого выбираем Сервис /Параметры запуска и заполняем графы в диалоговом окне следующим образом:
Теперь база данных полностью готова.
После открытия приложения перед пользователем появляется кнопочная форма. Работа с ней достаточно проста:
1) в меню нажать кнопку «Посмотреть отчет»;
2) если отчет нужно распечатать – выполнить Файл / Печать.
1) в меню нажать кнопку «Редактирование данных»;
3) если вы хотите отредактировать справочные данные – нажмите кнопку «Справочники»; если вы хотите отредактировать ранее введенные документы – нажмите кнопку «Документы»;
3) далее нажать кнопку, соответствующую форме того документа, с которым Вы хотите работать;
4) в открывшейся форме отредактировать данные.
1) в меню нажать кнопку «Добавление данных»;
3) если вы хотите добавить справочные данные – нажмите кнопку «Справочные данные»; если вы хотите добавить новый документ – нажмите кнопку «Новый документ»;
3) далее нажать кнопку, соответствующую форме того документа, с которым Вы хотите работать;
4) в открывшейся форме добавить данные.
На каждой странице есть кнопки перехода на предыдущую страницу и на главную кнопочную форму. Также есть кнопки закрытия кнопочной формы и выхода из приложения.