Реферат по предмету "Информатика, программирование"


Учет основного оборудования на предприятии

Министерство образования и науки РоссийскойФедерации
Государственное образовательное учреждениевысшего профессионального образования
Камская инженерно-экономическая академия
Кафедра А и ИТ
Курсовая работа
по дисциплине «Базы данных»
натему: «Учет основного оборудования на предприятии»
Выполнил: ст. гр. 1509
Сагындыков Л.Т.
Проверил доцент:
Бахвалова В.С.
Проверил ассистент:
Нуриева Н.П
Набережные челны 2010

Содержание
Введение
Глава 1. Задание
Глава 2. Системный анализ предметной области
Глава 3. Проектирование базы данных
3.1 Проектирование базы данных декомпозиционным методом
3.2 Проектирование базы данных с использованием ER- метода
3.3 Проверка отношений на завершающей фазе проектирования
3.4 Модель базы данных
Глава 4. Выбор субд
Глава 5. Разработка приложения
5.1 Общая схема приложения
5.2 Запросы и макросы, использованные в приложении
5.3 Описание приложения
5.3.1 Функциональные возможности приложения
5.3.2 Инструкция пользователя
Заключение
Список использованной литературы
Приложение
ВВЕДЕНИЕ
Современный мир информационныхтехнологий трудно представить себе без использования баз данных (БД). Практическивсе системы в той или иной степени связаны с функциями долговременного храненияи обработки информации. Фактически информация становится фактором, определяющимэффективность любой сферы деятельности. Увеличились информационные потоки и повысилисьтребования к скорости обработки данных. В результате большинство операций не можетбыть выполнено вручную, они требуют применения наиболее перспективных компьютерныхтехнологий. Любые административные решения требуют четкой и точной оценки ситуациии возможных перспектив ее изменения.
И если раньше в оценке ситуацииучаствовало несколько десятков факторов, которые могли быть вычислены вручную, тотеперь таких факторов сотни и тысячи, и ситуация меняется не в течение года, а черезнесколько минут, а обоснованность принимаемых решений требуется большая, потомучто и реакция на неправильные решения более серьезная, более быстрая и более мощная,чем раньше. И конечно, обойтись без использования БД, в этом случае невозможно.
/>ГЛАВА 1. ЗАДАНИЕ
Необходимо спроектироватьи реализовать реляционную БД учета основного оборудования на предприятии.
Целью курсовой работы является приобретениенавыков по проектированию базы данных и разработки программного обеспечения дляработы с ней.
Отчетпо работе должен содержать:
1. Системный анализ предметнойобласти;
2. Последовательностьпроектирования БД двумя методами (декомпозиционным и ER-методом);
3. Обоснование выбораСУБД;
4. Разработанное приложениедля работы с БД, а также общую блок-схему и блок-схему алгоритмов;
5. Инструкцию пользователядля разработанного приложения.
/>ГЛАВА 2. СИСТЕМНЫЙ АНАЛИЗПРЕДМЕТНОЙ ОБЛАСТИ
Данная БД разработана дляучета имеющегося основного оборудования на одном предприятии. При разработке необходимоучесть следующие требования:
1.  Для каждого оборудования необходимо иметьвозможность получить основную техническую информацию.
2.  Обрабатывающие оборудования, которые имеютсхожие технические характеристики необходимо объединить в кластеры.
3.  Каждому обрабатывающему оборудованию необходимопривязать набор инструментов и приспособлений
4.  Необходимо иметь возможность полученияотчета по всем имеющимся оборудованиям.
5.  Необходимо иметь возможность получениясписка оборудования, способных заменить вышедшее из строя.
Для корректной работы БД необходиморазделить основное оборудование на транспортное и обрабатывающее.
Таким образом, в БД необходимохранить:
Данные об обрабатывающем оборудовании:
1.  Код оборудования (КодОбр)– каждому обрабатывающемуоборудованию присваивается уникальный код
2.  Марка (МаркаОбр) – определяет техническиехарактеристики обрабатывающего оборудования
3.  Габаритные размеры (ГабарОбр) – общийдля оборудования одной марки.
4.  Наибольшая длина обрабатываемых деталей(ДлДетОбр) — параметр общий для оборудования одной марки. Величина указывается вмм.
5.  Наибольший диаметр обрабатываемых деталей(ДиамДетОбр) –параметр общий для оборудования одной марки. Если деталь типа призма,то вместо диаметра указывается наибольший из ширины и высоты. Величина указываетсяв мм.
6.  Пределы частот вращений главного шпинделя(ЧастотОбр) – общий параметр для оборудования одной марки. Величина указываетсяв мин-1
7.  Мощность привода главного движения (МощОбр)– общий параметр для оборудования одной марки. Величина указывается кВт.
8.  Стоимость (СтоимОбр) – определяет стоимостьприобретения оборудования. Величина указывается в тыс. руб.
9.  Дата изготовления (ДатаОбр)- определяетгод выпуска обрабатывающего оборудования
Данные об транспортном оборудовании:
1.  Код оборудования (КодТр)– каждому транспортномуоборудованию присваивается уникальный код
2.  Марка (МаркаТр) – определяет техническиехарактеристики транспортного оборудования
3.  Скорость перемещения (СкорТр) – общийпараметр для одной марки. Величина указывается в м/мин.
4.  Габаритные размеры (ГабарТр) – общий параметрдля одной марки.
5.  Грузоподъемность (ГрузТр)–общий параметрдля оборудования одной марки. Величина указывается в кг.
6.  Масса транспортного оборудования (МассаТр)– общий параметр для оборудования одной марки. Величина указывается в т.
7.  Стоимость (СтоимТр) – определяет стоимостьприобретения транспортного оборудования. Величина указывается в тыс. руб.
Данные об инструменте/приспособлении:
1.  Код инструмента/приспособления (КодИП)– уникальный номер инструмента/приспособления на предприятии
2.  Марка инструмента/приспособления (МаркИП)- определяет технические характеристики инструмента/приспособления
3.  Назаначение инструмента/приспособления(НазнИП) – определяет техническое назначение инструмента/приспособления: резец проходной,резец копировальный и т.д.
4.  «Инструмент» (ИнсПрисп) – параметр дляразделения инструментов и приспособлений, хранимое значение логическое.
Данные об автоматической транспортнонакопительно-складской системе (далее просто АТНСС):
1. Код АТНСС (КодАТНСС) –уникальный код автоматической транспотрно-накопительно-складской системы.
2. Пропускная способность(ПропАТНСС)–число перевозимых ед.изделия в час
3. Площадь охватываемая даннойАТНСС (ПлощАТНСС) – указывается в м2
Данные о гибком автоматизированномучастке (далее просто ГАУ):
1.  Код ГАУ (КодГАУ) – каждому ГАУ присваиваетсяуникальный код.
2.  Назначение ГАУ (НазнГАУ) – разные участкимогут изготавливать одни и те же детали.
3.  Площадь, занимаемая ГАУ (ПлощГАУ) – указываетсяв м2
Данные о гибкой производственнойсистеме (далее просто ГПС):
1.  Код ГПС (КодГПС) – каждому ГПС присваиваетсяуникальный код.
2.  Назначение ГПС (НазнГПС) –техническаяинформация о выполняемой работе на ГПС.
3.  Наименовние цеха (НаимЦех) – несколькоГПС могут быть привязанык одному цеху.
Данные о кластерах (объединениетранспортного оборудования по определенным характеристикам в некотором диапазоне):
1.  Код кластера (КодКласт)- уникальный кодкластера
2.  Частота вращения главного шпинделя (ЧастКласт)- устанавливается для каждого кластера
3.  Длина обрабатываемых деталей (ДлинКласт)-устанавливается для каждого кластера
4.  Диаметр обрабатываемых деталей (ДиамКласт)- устанавливается для каждого кластера. Если деталь типа призма, то вместо диаметрауказывается наибольший из ширины и высоты.
5.  Процент отклонения (ОтклКласт) – определяетдиапазон отклонения параметров в пределах одного кластера
Количественныехарактеристики
При построении модели базыданных за основу выбран набор нормализованных отношений, полученный в результатепроектирования ER-методом. Модельпредставлена на рисунке ниже. Предполагается, что количество обрабатывающего и транспортногооборудования на предприятии не более 1000 ед. и 500 ед. соответсвенно. В базе данныхбудет хранится информация о 5000 обрабатывающих и 2000 транспортных оборудованиях.Число ГАУ будет равно 200, ГПС — 30, а АТНСС – 70. Число используемых инструментов/приспособлений– 10000. Предполагается, что число кластеров будет не более 10000.
/>ГЛАВА 3. ПРОЕКТИРОВАНИЕ БАЗЫДАННЫХ/> 3.1 Проектирование базы данных декомпозиционнымметодом
Составим универсальное отношение,содержащее атрибуты, указанные ниже, и внесём в него ряд записей.
Атрибуты, хранимые в БД:
Код транспортного оборудования(КодТр),
код инструмента/приспособления(КодИП),
код обрабатывающего оборудования (КодОбр),
марка обрабатывающего оборудования (МаркаОбр),
габаритные размеры обрабатывающегооборудования (ГабарОбр),
наибольшая длина обрабатываемыхдеталей на обрабатывающем оборудовании (ДлДетОбр),
наибольший диаметр обрабатываемыхдеталей на обрабатывающем оборудовании (ДиамДетОбр),
пределы частот вращений главногошпинделя на обрабатывающем оборудовании (ЧастотОбр),
мощность привода главногодвижения обрабатывающего оборудования (МощОбр),
стоимость обрабатывающегооборудования (СтоимОбр),
дата изготовления обрабатывающегооборудования (ДатаОбр),
марка транспортного оборудования (МаркаТр),
скорость перемещения транспортногооборудования (СкорТр),
габаритные размеры транспортногооборудования (ГабарТр),
грузоподъемность транспортногооборудования (ГрузТр),
масса транспортного оборудования(МассаТр),
стоимость транспортного оборудования(СтоимТр),
марка инструмента/приспособления(МаркИП),
назначение инструмента/приспособления(НазнИП),
инструмент или приспосбление(ИнсПрисп),
код ГАУ (КодГАУ), назначениеГАУ (НазнГАУ),
площадь, занимаемая ГАУ (ПлощГАУ),
код АТНСС (КодТНС),
пропускная способность АТНСС(ПропТНС),
площадь охватываемая даннойАТНСС (ПлощТНС),
код ГПС (КодГПС),
назначение ГПС (НазнГПС),
наименовние цеха (НаимЦех),
код кластера (КодКласт),
частота вращения главногошпинделя в кластере (ЧастКласт),
длина обрабатываемых деталейв кластере (ДлинКласт),
диаметр обрабатываемых деталейв кластере (ДиамКласт),
процент отклонения в кластере(ОтклКласт)КодТр КодИП КодОбр МаркаОбр ГабарОбр ДлДетОбр ДиамДетОбр
Частот
Обр
Мощ
Обр
Стоим
Обр 1 1 1 16К20 2505х1190 2000 400 1600 10 120 1 2 1 16К20 2505х1190 2000 400 1600 10 120 2 3 1 16К20 2505х1190 2000 400 1600 10 120 2 4 2 1А64 5780х2000 2800 800 750 22 150 3 5 2 1А64 5780х2000 2800 800 750 22 150 4 6 2 1А64 5780х2000 2800 800 750 22 150 5 7 3 ИРТ180 2751х2170 165 200 4000 25 1200 5 8 3 ИРТ180 2751х2170 165 200 4000 25 1200 6 9 4 2Н150 1240х810 650 50 1800 4 80 6 10 5 2М55 2445х1000 550 50 2000 4 110 ДатаОбр
Марка
Тр СкорТр ГабарТр ГрузТр МассаТр СтоимТр МаркИП НазнИП
Инс
Присп
Код
ГАУ 11.05.1991 С4057 90 2234х1074 500 2500 800 20872-20 резец копир. да 1 11.05.1991 С4057 90 2234х1074 500 2500 800 UNC315-1 патрон нет 1 11.05.1991 0М9913 80 1900х990 250 800 350 35-В92-82 резец проход. да 1 13.08.1993 0М9913 80 1900х990 250 800 350 35-558-77 резец для канавок да 2 13.08.1993 С4234 100 2530х1074 500 3000 1000 UNC400-2 патрон нет 2 13.08.1993 С4057 90 2234х1074 500 2500 700 20872-20 резец копир. да 2 11.05.1998 0М9913 80 1900х990 250 800 300 UNC315-2 патрон нет 1 11.05.1998 0М9913 80 1900х990 250 800 300 35-558-77 резец для канавок да 1 07.01.1988 С4057 90 2234х1074 500 2500 580 UNC250-3 патрон нет 3 20.11.1984 С4057 90 2234х1074 500 2500 580 UNC250-2 патрон нет 3 НазнГАУ
Площ
ГАУ
Код
ТНС
Проп
ТНС
Площ
ТНС
Код
ГПС
Назн
ГПС
Наим
Цех
Код
Класт
Обточка
дет. Колесо 80 1 700 150 1 «Колесо» Дизельный 1
Обточка
дет. Колесо 80 1 700 150 1 «Колесо» Дизельный 1
Обточка
дет. Колесо 80 2 1000 300 1 «Колесо» Дизельный 1 Обточка дет. втулку 60 2 1000 300 2 «Втулка» Дизельный 2 Обточка дет. втулку 60 2 1000 300 2 «Втулка» Дизельный 2 Обточка дет. втулку 60 2 1000 300 2 «Втулка» Дизельный 2
Обточка
дет. Колесо 80 3 800 200 1 «Колесо» Дизельный 3
Обточка
дет. Колесо 80 3 800 200 1 «Колесо» Дизельный 3 Сверление отверстий 40 3 800 200 2 «Втулка» Дизельный 4
Сверление
отверстий 40 3 800 200 2 «Втулка» Дизельный 4 ЧастКласт ДлинКласт ДиамКласт ОтклКласт 1600 2000 400 17 1600 2000 400 17 1600 2000 400 17 750 2800 800 17 750 2800 800 17 750 2800 800 17 4000 200 165 17 4000 200 165 17 1800 650 50 17 1800 650 50 17
Проанализируем ФЗ данногоотношения:
1. Код обрабатывающегооборудования – уникален и однозначно определяет марку оборудования, стоимость оборудования,дата изготовления оборудования. В тоже время каждое обрабатывающее оборудованияоднозначно привязано к одному кластеру и одному ГАУ.
В своюочередь, марка оборудования однозначно определяет габаритные размеры оборудования,наибольшую длину и диаметр обрабатываемых деталей, пределы частот вращений главногошпинделя и мощность привода главного движения.
Такимобразом, имеем:
КодОбр ® МаркаОбр;
КодОбр ® СтоимОбр;
КодОбр ® ДатаОбр;
КодОбр ® КодКласт;
КодОбр ® КодГАУ;
МаркаОбр ® ГабарОбр;
МаркаОбр ® ДлДетОбр;
МаркаОбр ® ДиамДетОбр;
МаркаОбр ® ЧастотОбр;
МаркаОбр ® МощОбр;
2. Если известен кодтранспортного оборудования, то по нему можно определить марку транспортного оборудования,стоимость транспортного оборудования. В тоже время каждое транспортное оборудованиепривязано к одному АТНСС.
В своюочередь, зная марку транспортного оборудования, мы однозначно знаем скорость перемещения,габаритные размеры, грузоподъемность и масса транспортного оборудования.
Такимобразом, имеем:
КодТр ® МаркаТр;
КодТр ® СтоимТр;
КодТр ® КодТНС;
МаркаТр ® СкорТр;
МаркаТр ® ГабарТр;
МаркаТр ® ГрузТр;
МаркаТр ® МассаТр;
3. Код инструмента/приспособленияоднозначно определяет марку инструмента/приспособления, назначение инструмента/приспособленияи определяет инструмент это или приспособление. В тоже время код интрумента/приспособленияоднозначно определяет оборудование, к которому привязано.
Такимобразом, имеем:
КодИП ® МаркИП;
КодИП ® НазнИП;
КодИП ® ИнсПрисп;
КодИП ® КодОбр;
4. Код АТНСС однозначноопределяет пропускную способность и площадь, охватываемая данной АТНСС.
Такимобразом, имеем:
КодТНС ® ПропТНС;
КодТНС ® ПлощТНС;
5. Код ГАУ однозначноопределяет назначение и площадь, занимаемую ГАУ. В тоже время код ГАУ совместнос кодом АТНСС однозначно привязано к одному ГПС. Таким образом, несколько ГАУ иАТНСС могут быть привязано к одному ГПС.
Такимобразом, имеем:
КодГАУ® НазнГАУ;
КодГАУ ® ПлощГАУ;
КодГАУ, КодТНС ® КодГПС;
6. Код ГПС однозначноопределяет назначение ГПС и наименование цеха к которому оно привязано.
Такимобразом, имеем:
КодГПС® НазнГПС;
КодГПС ® НаимЦех;
7. Код кластера однозначнопроцент отклонения параметров, определяет частоту вращения главного шпинделя, длинуобрабатываемых деталей, диаметр обрабатываемых деталей на оборудовании принадлежащемданному кластеру.
Такимобразом, имеем:
КодКласт ® ЧастКласт;
КодКласт® ДлинКласт;
КодКласт ® ДиамКласт;
КодКласт® ОтклКласт;
С учётом вышесказанного диаграммаФЗ имеет вид (см. рис.).
R
/>
В даннойкурсовой работе нет избыточных ФЗ, следовательно, универсальное отношение имеетминимальное покрытие.
Определяемвозможные ключи и детерминанты отношения R
Возможный ключ

Детерминант
КодКласт
КодОбр
КодИП
КодТр
МаркаОбр
МаркаТр
КодГАУ
КодТНС
КодГАУ, КодТНС
КодГПС
Учитывая, что не каждый первичныйключ является детерминантом, рассматриваемое универсальное отношение не находитсяв нормальной форме Бойса – Кодда (НФБК) и требуется декомпозиция универсальногоотношения.
Для проведениядекомпозиции по правилу «цепочек» используем крайнюю правую ФЗ: КодГПС ® НазнГПС, НаимЦех. В результате получимдва отношения R1 и R2.
 
R1 ГПС (КодГПС, НазнГПС, НаимЦех)
/>Возможный ключ Детерминант
Т.е. отношение находится вНФБК и дальнейшая его декомпозиция не требуется (возможный ключ и детерминант совпадают):
R2 (КодТр, КодИП, КодОбр, МаркаОбр, ГабарОбр, ДлДетОбр, ДиамДетОбр,ЧастотОбр, МощОбр, СтоимОбр, ДатаОбр, МаркаТр, СкорТр, ГабарТр, ГрузТр, МассаТр,СтоимТр, МаркИП, НазнИП, ИнсПрисп, КодГАУ, НазнГАУ, ПлощГАУ, КодТНС, ПропТНС, ПлощТНС,КодГПС, КодКласт, ЧастКласт, ДлинКласт, ДиамКласт, ОтклКласт)

/>
Возможный ключ

Детерминант
МаркаОбр
КодОбр
КодИП
КодТр
МаркаТр
КодГАУ
КодТНС
КодГАУ, КодТНС
КодКласт
Т.к. возможный ключ не являетсядетерминантом, необходима дальнейшая декомпозиция. Для проведения декомпозиции поправилу «цепочек» используем крайнюю правую ФЗ: КодКласт® ЧастКласт, ДлинКласт, ДиамКласт, ОтклКласт.В результате получим два отношения R3 иR4:
 

 
R3 Кластер (КодКласт, ЧастКласт, ДлинКласт, ДиамКласт, ОтклКласт)
/>Возможный ключ Детерминант
Т.е. отношение находится вНФБК и дальнейшая его декомпозиция не требуется (возможный ключ и детерминант совпадают).
R4 (КодТр, КодИП, КодОбр, МаркаОбр, ГабарОбр, ДлДетОбр, ДиамДетОбр,ЧастотОбр, МощОбр, СтоимОбр, ДатаОбр, МаркаТр, СкорТр, ГабарТр, ГрузТр, МассаТр,СтоимТр, МаркИП, НазнИП, ИнсПрисп, КодГАУ, НазнГАУ, ПлощГАУ, КодТНС, ПропТНС, ПлощТНС,КодГПС, КодКласт)
/>

Возможный ключ

Детерминант
МаркаОбр
КодОбр
КодИП
КодТр
МаркаТр
КодГАУ
КодТНС
КодГАУ, КодТНС
Т.к. возможный ключ не являетсядетерминантом, необходима дальнейшая декомпозиция. Для проведения декомпозиции поправилу «цепочек» используем крайнюю правую ФЗ: МаркаОбр ® ГабарОбр, ДлДетОбр, ДиамДетОбр, ЧастотОбр,МощОбр. В результате получим два отношения R5 и R6:
 
R5 МаркаОбраб (МаркаОбр, ГабарОбр, ДлДетОбр, ДиамДетОбр,ЧастотОбр, МощОбр)
/>Возможный ключ Детерминант
Т.е. отношение находится вНФБК и дальнейшая его декомпозиция не требуется (возможный ключ и детерминант совпадают).
 
R6 (КодТр, КодИП, КодОбр, МаркаОбр, СтоимОбр, ДатаОбр, МаркаТр,СкорТр, ГабарТр, ГрузТр, МассаТр, СтоимТр, МаркИП, НазнИП, ИнсПрисп, КодГАУ, НазнГАУ,ПлощГАУ, КодТНС, ПропТНС, ПлощТНС, КодГПС, КодКласт)
/>
Возможный ключ

Детерминант
МаркаТр
КодОбр
КодИП
КодТр
КодГАУ
КодТНС
КодГАУ, КодТНС
Т.к. возможный ключ не являетсядетерминантом, необходима дальнейшая декомпозиция. Для проведения декомпозиции поправилу «цепочек» используем крайнюю правую ФЗ: КодГАУ ® НазнГАУ, ПлощГАУ. В результате получимдва отношения R7 и R8:
 
R7 ГАУ (КодГАУ, НазнГАУ, ПлощГАУ)
/>Возможный ключ Детерминант

Т.е. отношение находится вНФБК и дальнейшая его декомпозиция не требуется (возможный ключ и детерминант совпадают).
 
R8 (КодТр, КодИП, КодОбр, МаркаОбр, СтоимОбр, ДатаОбр, МаркаТр,СкорТр, ГабарТр, ГрузТр, МассаТр, СтоимТр, МаркИП, НазнИП, ИнсПрисп, КодГАУ, КодТНС,ПропТНС, ПлощТНС, КодГПС, КодКласт)
/>
Возможный ключ

Детерминант
МаркаТр
КодОбр
КодИП
КодТр
КодТНС
КодГАУ, КодТНС
Т.к. возможный ключ не являетсядетерминантом, необходима дальнейшая декомпозиция. Для проведения декомпозиции поправилу «цепочек» используем крайнюю правую ФЗ: КодТНС ® ПропТНС, ПлощТНС. В результате получимдва отношения R9 и R10:
 
R9 ТНС (КодТНС, ПропТНС, ПлощТНС)
/>
Возможный ключ Детерминант
Т.е. отношение находится вНФБК и дальнейшая его декомпозиция не требуется (возможный ключ и детерминант совпадают).
 
R10 (КодТр, КодИП, КодОбр, МаркаОбр, СтоимОбр, ДатаОбр, МаркаТр,СкорТр, ГабарТр, ГрузТр, МассаТр, СтоимТр, МаркИП, НазнИП, ИнсПрисп, КодГАУ, КодТНС,КодГПС, КодКласт)
/>
Возможный ключ

Детерминант
МаркаТр
КодОбр
КодИП
КодТр
КодГАУ, КодТНС
Т.к. возможный ключ не являетсядетерминантом, необходима дальнейшая декомпозиция. Для проведения декомпозиции поправилу «цепочек» используем крайнюю правую ФЗ: КодГАУ, КодТНС ® КодГПС. В результате получим три отношенияR11, R12 и R13:
 
R11 ГАУ-ТНС (КодГАУ, КодТНС, КодГПС)

/>
Возможный ключ

Детерминант

Т.е. отношение находится вНФБК и дальнейшая его декомпозиция не требуется (возможный ключ и детерминант совпадают).
 
R12 (КодТр, МаркаТр, СкорТр, ГабарТр, ГрузТр, МассаТр, СтоимТр,КодТНС)
/>
Возможный ключ

Детерминант
МаркаТр
КодТр
Т.к. возможный ключ не являетсядетерминантом, необходима дальнейшая декомпозиция. Для проведения декомпозиции поправилу «цепочек» используем крайнюю правую ФЗ: МаркаТр ® СкроТр, ГабарТр, ГрузТр, МассаТр. В результатеполучим три отношения R14 и R15:
 
R14 МаркаТрансп (МаркаТр, СкорТр, ГабарТр, ГрузТр,МассаТр)

/>Возможный ключ Детерминант
Т.е. отношение находится вНФБК и дальнейшая его декомпозиция не требуется (возможный ключ и детерминант совпадают).
 
R15 Транспортное оборудование (КодТр, КодТНС, МаркаТр,СтоимТр)
/>Возможный ключ Детерминант
Т.е. отношение находится вНФБК и дальнейшая его декомпозиция не требуется (возможный ключ и детерминант совпадают).
 
R13 (КодИП, КодОбр, МаркаОбр, СтоимОбр, ДатаОбр, МаркИП, НазнИП,ИнсПрисп, КодГАУ, КодКласт)

/>
Возможный ключ

Детерминант
КодОбр
КодИП
Т.к. возможный ключ не являетсядетерминантом, необходима дальнейшая декомпозиция. Для проведения декомпозиции поправилу «цепочек» используем крайнюю правую ФЗ: КодОбр ® КодКласт, МаркаОбр, КодГАУ, ДатаОбр,СтоимОбр. В результате получим три отношения R16 и R17:
 
R16 Обрабатывающее оборудование (КодОбр, МаркаОбр,КодКласт, КодГАУ, ДатаОбр, СтоимОбр)
/>Возможный ключ Детерминант
Т.е. отношение находится вНФБК и дальнейшая его декомпозиция не требуется (возможный ключ и детерминант совпадают).

 
R17 Инструмент/приспособление (КодИП, КодОбр, МаркИП,НазнИП, ИнсПрисп)
/>Возможный ключ Детерминант
Т.е. отношение находится вНФБК и дальнейшая его декомпозиция не требуется (возможный ключ и детерминант совпадают).
В результатеиспользования декомпозиционного метода проектирования получили набор из десяти нормализованныхотношений.
 
R1 ГПС (КодГПС, НазнГПС, НаимЦех)
R3 Кластер (КодКласт, ЧастКласт, ДлинКласт, ДиамКласт, ОтклКласт)
R5 МаркаОбраб (МаркаОбр, ГабарОбр, ДлДетОбр, ДиамДетОбр,ЧастотОбр, МощОбр)
R7 ГАУ (КодГАУ, НазнГАУ, ПлощГАУ)
R9 ТНС (КодТНС, ПропТНС, ПлощТНС)
R11 ГАУ-ТНС (КодГАУ, КодТНС, КодГПС)
R14 МаркаТрансп (МаркаТр, СкорТр, ГабарТр, ГрузТр,МассаТр)
R15 Транспортное оборудование (КодТр, КодТНС, МаркаТр,СтоимТр)
R16 Обрабатывающее оборудование (КодОбр, МаркаОбр,КодКласт, КодГАУ, ДатаОбр, СтоимОбр)
R17 Инструмент/приспособление (КодИП, КодОбр, МаркИП,НазнИП, ИнсПрисп)
Заполнимданными эти отношения:
R1 ГПС (КодГПС, НазнГПС, НаимЦех)КодГПС НазнГПС НаимЦех 1 «Колесо» Дизельный 2 «Втулка» Дизельный
 
R3 Кластер (КодКласт, ЧастКласт, ДлинКласт, ДиамКласт, ОтклКласт)КодКласт ЧастКласт ДлинКласт ДиамКласт ОтклКласт 1 1600 2000 400 17 2 750 2800 800 17 3 4000 200 165 17 4 1800 650 50 17
 
R5 МаркаОбраб (МаркаОбр, ГабарОбр, ДлДетОбр, ДиамДетОбр,ЧастотОбр, МощОбр)МаркаОбр ГабарОбр ДлДетОбр ДиамДетОбр ЧастотОбр МощОбр 16К20 2505х1190 2000 400 1600 10 1А64 5780х2000 2800 800 750 22 ИРТ180 2751х2170 165 200 4000 25 2Н150 1240х810 650 50 1800 4 2М55 2445х1000 550 50 2000 4
 
R7 ГАУ (КодГАУ, НазнГАУ, ПлощГАУ)КодГАУ НазнГАУ ПлощГАУ 1 Обточка дет. Колесо 80 2 Обточка дет. втулку 60 3 Сверление отверстий 40
 
R9 ТНС (КодТНС, ПропТНС, ПлощТНС)КодТНС ПропТНС ПлощТНС 1 700 150 2 1000 300 3 800 200
 
R11 ГАУ-ТНС (КодГАУ, КодТНС, КодГПС)КодГАУ КодТНС КодГПС 1 1 1 2 2 2 1 2 1 1 3 1 3 3 2
 
R14 МаркаТрансп (МаркаТр, СкорТр, ГабарТр, ГрузТр,МассаТр)МаркаТр СкорТр ГабарТр ГрузТр МассаТр С4057 90 2234х1074 500 2500 0М9913 80 1900х990 250 800 С4234 100 2530х1074 500 3000
 
R15 Транспортное оборудование (КодТр, МаркаТр, СтоимТр,КодТНС)КодТр МаркаТр СтоимТр КодТНС 1 С4057 800 1 2 0М9913 350 2 3 С4234 1000 2 4 С4057 700 2 5 0М9913 300 3 6 С4057 580 3
 
R16 Обрабатывающее оборудование (КодОбр, МаркаОбр,ДатаОбр, СтоимОбр, КодКласт, КодГАУ)КодОбр МаркаОбр СтоимОбр ДатаОбр КодКласт КодГАУ 1 16К20 120 11.05.1991 1 1 2 1А64 150 13.08.1993 2 2 3 ИРТ180 1200 11.05.1998 3 1 4 2Н150 80 07.01.1988 4 3 5 2М55 110 20.11.1984 4 3
 
R17 Инструмент/приспособление (КодИП, КодОбр, МаркИП,НазнИП, ИнсПрисп)КодИП КодОбр МаркИП НазнИП ИнсПрисп 1 1 20872-20 резец копир. да 2 1 UNC315-1 патрон нет 3 1 35-В92-82 резец проход. да 4 2 35-558-77 резец для канавок да 5 2 UNC400-2 патрон нет 6 2 20872-20 резец копир. да 7 3 UNC315-2 патрон нет 8 3 35-558-77 резец для канавок да 9 4 UNC250-3 патрон нет 10 5 UNC250-2 патрон нет 3.2 Проектированиебазы данных с использованием ER— метода
На первом этапе проектированияопределяются сущности и связи между ними. Представляющими интерес сущностями в рассматриваемомслучае являются ГАУ, АТНСС, Кластер, Обрабатывающее оборудование, Транспортное оборудование.
Сущности ГАУ (Г) и АТНСС(А) объединены связью «Соединяется».Сущности «Обрабатывающее оборудование»(О) и ГАУ(Г) объединены связью «Входит». Сущности«Транспортное оборудование»(Т) и АТНСС(А) объединены связью «Входит». Сущности «Инструменты,приспособления» (И) и «Обрабатывающее оборудование»(О) объединены связью «Привязаны».Сущности «Обрабатывающее оборудование»(О) и Кластеры(К) объединены связью «Входит».Ролевых сущностей здесь нет.
Составимдиаграммы ER – экземпляров:

/>
КаждоеГАУ может связываться с несколькими АТНСС, каждая АТНСС может соединяться с несколькимиГАУ, поэтому степень связи N: М. Класспринадлежности обеих сущностей – обязательный.
/>
Каждоеобрабатывающее оборудование может входить только в одно ГАУ, в каждое ГАУ можетвходить несколько оборудований, поэтому степень связи N:1. Класс принадлежности обеих сущностей – обязательный.
/>
Каждоетранспортное оборудование может входить только в одну АТНСС, в каждую АТНСС можетвходить несколько оборудований, поэтому степень связи N:1. Класс принадлежности обеих сущностей – обязательный.

/>
Каждыйинструмент(приспособление) может привязывается только к одному обрабатывающему оборудованию,каждому оборудованию может быть привязано несколько инструментов(приспособлений),поэтому степень связи N:1. Класспринадлежности обеих сущностей – обязательный.
/>
Каждоеобрабатывающее оборудование может входить только в один кластер ГАУ, в каждый кластерможет входить несколько оборудований, поэтому степень связи N:1. Класс принадлежности обеих сущностей– обязательный.
Составимдиаграмму ER – типа:
/>
Ключисущностей: КодКласт, КодИП, КодОбр, КодГАУ, КодТНС, КодТр.
Переходимк генерации предварительных отношений
Рассмотрим отношения ГАУ –АТНСС. Т.к. степень связи N: М, тотребуется три отношения, два из которых для сущностей, в которых первичными ключамиявляются ключи соответствующих сущностей и одно отношение для связи, где в качествеатрибутов используются ключи обоих сущностей.
 
R1 ГАУ (КодГАУ, …)
R2 АТНСС (КодТНС, …)
R3 Соединение (КодГАУ, КодТНС, …)
Рассмотрим отношения «Транспортноеоборудование»- АТНСС, «Обрабатывающее оборудование» — ГАУ, «Обрабатывающее оборудование»- Кластер, «Инструменты, приспособления» — «Обрабатывающее оборудование». Для каждогоотношения справедливо правило генерации отношений №4. Т.к. степень связи N:1 и класс принадлежности N-связной сущности является обязательным,то достаточным является использование двух отношений, по одному — на каждую сущность,в которых первичными ключами являются ключи соответствующих сущностей. Дополнительноключ 1-связной сущности должен быть добавлен как атрибут в отношение, отводимоеN-связной сущности.
 
R4 Транспортное оборудование (КодТр, КодТНС …)
R5 АТНСС2 (КодТНС, …)
R6 Обрабатывающее оборудование1 (КодОбр, КодГАУ …)
R7 ГАУ2 (КодГау, …)
R8 Обрабатывающее оборудование2 (КодОбр, КодКласт …)
R9 Кластер (КодКласт, …)
R10 Инструменты, приспособления (КодИП, КодОбр …)
R11 Обрабатывающее оборудование3 (КодОбр, …)
Видно,что отношения R5 и R2 дублируют друг друга, следовательно одно отношение необходимоисключить из проектного набора. Пусть им будет R2.
Видно,что отношения R7 и R1 дублируют друг друга, следовательно одно отношение необходимоисключить из проектного набора. Пусть им будет R1.
Видно,что атрибуты отношения R11 могутбыть найдены в отношениях R8 и R6, следовательно отношение R11 необходимо исключить из проектногонабора.
Видно, что все атрибуты отношенияR8, кроме КодКласт, могут быть найденыв отношении R6, следовательно их обоих необходимо заменитьотношением, полученным операцией СОЕДИНЕНИЕ над ними:
 
R12 Обрабатывающее оборудование (КодОбр, КодГАУ, КодКласт …)
Распределимоставшиеся атрибуты по отношениям:
 
R1 ГАУ (КодГАУ, НазнГАУ, ПлощГАУ)
R2 АТНСС (КодТНС, ПропТНС, ПлощТНС)
R3 Содинение (КодГАУ, КодТНС, КодГПС, НазнГПС, НаимЦех)
R4 Транспортное оборудование (КодТр, КодТНС, МаркаТр, СтоимТр,СкорТр, ГабарТр, ГрузТр, МассаТр)
R9 Кластер (КодКласт, ЧастКласт, ДлинКласт, ДиамКласт, ОтклКласт)
R10 Инструменты, приспособления (КодИП, КодОбр, МаркИП, НазнИП,ИнсПрисп)
R12 Обрабатывающее оборудование (КодОбр, КодГАУ, КодКласт,МаркаОбр, ДатаОбр, СтоимОбр, ГабарОбр, ДлДетОбр, ДиамДетОбр, ЧастотОбр, МощОбр)
Для проверкинахождения полученных отношений в НФБК построим для каждого отношения диаграммыФЗ и определим возможные ключи и детерминанты.
 
R1 ГАУ (КодГАУ, НазнГАУ, ПлощГАУ)
/>Возможный ключ Детерминант
Отношениенаходится в НФБК, декомпозиция не требуется.
 
R2 АТНСС (КодТНС, ПропТНС, ПлощТНС)
/>Возможный ключ Детерминант
Отношениенаходится в НФБК, декомпозиция не требуется.
 
R4 Транспортное оборудование (КодТр, КодТНС, МаркаТр, СтоимТр,СкорТр, ГабарТр, ГрузТр, МассаТр)

/>Возможный ключ Детерминант
Т.к. возможный ключ не являетсядетерминантом, необходима дальнейшая декомпозиция. Отношение R4 разделяем на R13 и R14. Для декомпозициипо правилу «цепочек» используем крайнюю правую ФЗ: МаркаТр® СкорТр, ГабарТр, ГрузТр, МассаТр.
В результате получим два отношения:
 
R13 Транспортное оборудование (КодТр, КодТНС, МаркаТр, СтоимТр)
/>Возможный ключ Детерминант
Отношениенаходится в НФБК, декомпозиция не требуется.
 
R14 МаркаТрансп (МаркаТр, СкорТр, ГабарТр, ГрузТр, МассаТр)
/>
Возможный ключ Детерминант
Отношениенаходится в НФБК, декомпозиция не требуется.
 
R9 Кластер (КодКласт, ЧастКласт, ДлинКласт, ДиамКласт, ОтклКласт)
/>Возможный ключ Детерминант
Отношениенаходится в НФБК, декомпозиция не требуется.
 
R10 Инструменты, приспособления (КодИП, КодОбр, МаркИП, НазнИП,ИнсПрисп)
/>Возможный ключ Детерминант
Отношениенаходится в НФБК, декомпозиция не требуется.
 

 
R12 Обрабатывающее оборудование (КодОбр, КодГАУ, КодКласт,МаркаОбр, ДатаОбр, СтоимОбр, ГабарОбр, ДлДетОбр, ДиамДетОбр, ЧастотОбр, МощОбр)
/>Возможный ключ Детерминант


Т.к. возможный ключ не являетсядетерминантом, необходима дальнейшая декомпозиция. Отношение R12 разделяем на R15 и R16. Для декомпозициипо правилу «цепочек» используем крайнюю правую ФЗ: МаркаОбр® ГабарОбр, ДлДетОбр, ДиамДетОбр, ЧастотОбр,МощОбр.
В результате получим два отношения:
R15 Обрабатывающее оборудование (КодОбр, МаркаОбр, КодКласт,КодГАУ, ДатаОбр, СтоимОбр)
/>Возможный ключ Детерминант

Отношениенаходится в НФБК, декомпозиция не требуется.
 
R16 МаркаОбраб(МаркаОбр, ГабарОбр, ДлДетОбр, ДиамДетОбр,ЧастотОбр, МощОбр)
/>Возможный ключ Детерминант
Отношениенаходится в НФБК, декомпозиция не требуется.
 
R3 Соединение (КодГАУ, КодТНС, КодГПС, НазнГПС, НаимЦех)
/>Возможный ключ Детерминант


Т.к. возможный ключ не являетсядетерминантом, необходима дальнейшая декомпозиция. Отношение R3 разделяем на R17 и R18. Для декомпозициипо правилу «цепочек» используем крайнюю правую ФЗ: КодГПС® НазнГПС, НаимЦех.
В результате получим два отношения:

 
R17 ГПС (КодГПС, НазнГПС, НаимЦех)
/>Возможный ключ Детерминант
Отношениенаходится в НФБК, декомпозиция не требуется.
 
R18 Соединение (КодГАУ, КодТНС, КодГПС)
/>
Возможный ключ

Детерминант

Отношениенаходится в НФБК, декомпозиция не требуется./> 3.3 Проверка отношений на завершающей фазепроектирования
Результирующий набор отношений:
 
R1 Инструменты, приспособления (КодИП, КодОбр, МаркИП, НазнИП,ИнсПрисп)
R2 Обрабатывающееоборудование (КодОбр, МаркаОбр, КодКласт, КодГАУ, ДатаОбр, СтоимОбр)
R3 Транспортноеоборудование (КодТр, КодТНС, МаркаТр, СтоимТр)
R4 МаркаОбраб(МаркаОбр, ГабарОбр, ДлДетОбр, ДиамДетОбр, ЧастотОбр, МощОбр)
R5 МаркаТрансп (МаркаТр, СкорТр, ГабарТр, ГрузТр, МассаТр)
R6 Кластер (КодКласт, ЧастКласт, ДлинКласт, ДиамКласт, ОтклКласт)
R7 ГАУ (КодГАУ, НазнГАУ, ПлощГАУ)
R8 АТНСС (КодТНС, ПропТНС, ПлощТНС)
R9 ГПС (КодГПС, НазнГПС, НаимЦех)
R10 ГАУ-ТНС (КодГАУ, КодТНС, КодГПС)
Проведем проверку:
1. Одна и та же ФЗ несодержится более чем в одном отношении.
2. Нет отношений, всеатрибуты в которых могут быть найдены в другом отношении проектного набора, либов отношении, полученном из других отношений проектного набора с помощью серии операцийСОЕДИНЕНИЕ. Т.е. отсутствуют избыточные отношения.
3. Набор ФЗ, полученныйв результате проектирования декомпозиционным методом совпадает с набором, присутствующимв минимальном покрытии, полученным перед началом декомпозиции./> 3.4 Модель базы данных
При построениимодели базы данных за основу выбран набор нормализованных отношений, полученныйв результате проектирования ER-методом.Модель представлена на рисунке ниже. Предполагается, что количество обрабатывающегои транспортного оборудования на предприятии не более 1000 ед. и 500 ед. соответственно.В базе данных будет храниться информация о 5000 обрабатывающих и 2000 транспортныхоборудованиях. Число ГАУ будет равно 200, ГПС — 30, а АТНСС – 70. Число используемыхинструментов/приспособлений – 10000. Предполагается, что число кластеров будет неболее 10000.

Инструменты, приспособления
Ключевое поле
Тип и длина
Имя поля +
/>Длинное целое КодИП Длинное целое КодОбр Строковый (20) МаркИП Строковый (50) НазнИП Логический ИнсПрисп
Обрабатывающее оборудование
Ключевое поле
Тип и длина
Имя поля + Длинное целое КодОбр Строковый (20) МаркаОбр Длинное целое КодКласт Целое КодГАУ Дата/Время ДатаОбр Длинное целое СтоимОбр
Транспортное оборудование
Ключевое поле
Тип и длина
Имя поля + Длинное целое КодТр Строковый (20) МаркаТр Целое КодТНС Длинное целое СтоимТр
МаркаОбраб
Ключевое поле
Тип и длина
Имя поля + Строковый (20) МаркаОбр Строковый (20) ГабарОбр Длинное целое ДлДетОбр Длинное целое ДиамДетОбр Длинное целое ЧастотОбр Длинное целое МощОбр
МаркаТрансп
Ключевое поле
Тип и длина
Имя поля + Строковый (20) МаркаТр Длинное целое СкорТр
  Строковый (20) ГабарТр
  Длинное целое ГрузТр Длинное целое МассаТр
Кластер
Ключевое поле
Тип и длина
Имя поля + Длинное целое КодКласт Длинное целое ЧастКласт Длинное целое ДлинКласт Длинное целое ДиамКласт Целое ОтклКласт
ГАУ
Ключевое поле
Тип и длина
Имя поля + Целое КодГАУ Строковый (50) НазнГАУ Длинное целое ПлощГАУ
АТНСС
Ключевое поле
Тип и длина
Имя поля + Целое КодТНС
  Длинное целое ПропТНС
  Длинное целое ПлощТНС
ГПС
Ключевое поле
Тип и длина
Имя поля + Целое КодГПС Строковый (50) НазнГПС Строковый (50) НаимЦех
ГАУ-ТНС
Ключевое поле
Тип и длина
Имя поля + Целое КодГАУ
  + Целое КодТНС
  Целое КодГПС
Расчетнеобходимого дискового пространства для хранения БД:
Инструменты, приспособления:
2+2+20+50+2=76 байт
Х 10000=742,2 Кбайт
Обрабатывающееоборудование:
2+20+2+1+8+2=35байт
Х1000= 34,2 Кбайт

Транспортноеоборудование:
2+20+1+2=15байт
Х500 =7,3 Кбайт
МаркаОбраб:
20+20+2+2+2+2= 48 байт
Х5000= 234,4 Кбайт
МаркаТрансп:
20+2+20+2+2 = 46 байт
Х2000 = 89,8 Кбайт
Кластер:
2+2+2+2+1= 9 байт
Х10000 = 87,8 Кбайт
ГАУ:
1+50+2= 53 байт
Х200 = 10,4 Кбайт
АТНСС:
1+2+2= 5 байт
Х70 = 0,3 байт

ГПС:
1+50+50 = 101 байт
Х30 = 2,9 байт
ГАУ-ТНС:
1+1+1 = 3 байт
Х70Х200 = 41,0 Кбайт
Всего:
742,2+34,2+7,3+ 234,4+89,8+87,8+10,4+0,3+2,9+41,0= 1250 Кбайт
/>ГЛАВА 4. ВЫБОР СУБД
Выборсистемы управления баз данных (СУБД) представляет собой сложную многопараметрическуюзадачу и является одним из важных этапов при разработке приложений баз данных. Выбранныйпрограммный продукт должен удовлетворять как текущим, так и будущим потребностямпредприятия, при этом следует учитывать финансовые затраты на приобретение необходимогооборудования, самой системы, разработку необходимого программного обеспечения наее основе, а также обучение персонала.
Т.к. разработчикданной БД одновременно является и заказчиком, то было принято решение использоватьдля реализации данного курсового проекта СУБД MS Access 2003. Хотя эта СУБД и не является самой мощной и функциональнонасыщенной (к примеру СУБД MS SQL SERVER предоставляет мощные средства резервного копирования, репликациии восстановления), но тем не менее полностью удовлетворяет требованиям данного курсовогопроекта. Кроме того, можно использовать встроенные функции MS Access 2003 для создания форм и отчетов, не прибегая к использованиюкаких-либо языков программирования, что значительно сокращает время разработки интерфейсапользователя.
 

/> ГЛАВА 5. РАЗРАБОТКА ПРИЛОЖЕНИЯ/> 5.1 Общая схема приложения
Для работыс БД в среде MS Access было разработано приложение, имеющее следующую структуру:
/>
/>
По схемевидно, что приложение содержит 1 главную форму и 11 подчиненных, а также 2 отчета.
Т.к. пользователямиБД являются в первую очередь инженера производственных участков, то внимание приразработке приложения было уделено таким функциям, как проверка повторяющихся табельныхномеров, автоматическое создание кластеров, проверка наличия связей при удалении(например если к ГАУ привязано оборудование, то удаление ГАУ некорректно!). Крометого, были разработаны отчеты по всему оборудованию на предприятии( обрабатывающемуи транспортному с группировкой по марке оборудования и с указанием общей стоимостиоборудования на предприятии. Также предусмотрена возможность получения списка оборудования,которое может заменить вышедшее из строя./> 5.2 Запросы и макросы, использованные вприложении
Рассмотрим описание используемыхмакрогрупп в БД.
1. МакрогруппаДобавление
Содержитмакросы«Ввод оборудования», «Ввод марки оборудования», «Ввод транспорта»,« Ввод марки транспорта», «Ввод инструмента», «Ввод ГПС», «Ввод ГАУ», «Ввод ТНС»,обеспечивающие ввод новой записи в соответсвющую таблицу. При этом в каждом макросеобеспечивается проверка ввода значения в каждое поле записи и проверка повторяющегосятабельного номера новой записи.
В макросе«Ввод оборудования» предусмотрено автоматическое распознование кластера,к которому следует отнести новое оборудование.
Макрос «Ввод Кластера» предназначендля ввода новой записи в таблицу «Кластер», вызывается он из макроса «Вводоборудования» в случае если новому оборудованию не соответствует ни один из кластеров.
2. МакрогруппаУдаление
Содержит в себе макросы «Удаление оборудования», « Удаление марки оборудования», «Удаление транспорта», «Удаление марки транспорта», «Удаление инструмента», «Удаление ГПС», «Удаление ГАУ»,«Удаление ГПС», «Удаление ТНС», «Удаление Кластера» которые используются для удалениязаписи в соответствующей таблице по введенному табельному номеру. В каждом макросеобеспечивается проверка ввода пустого табельного номера.
3. Макрогруппаautoexec
Содержит в себе макрос дляавтоматического запуска главной формы при открытии БД.
4. МакрогруппаГлавная
Содержит в себе макрос “Выход”,который выполняет действие — закрытие БД.
5. МакрогруппаОбновление – макрос «ГПС»обеспечивает обновление списка транспортного оборудования в форме «Содержимое ГПС»,макрос «Замена» обеспечивает обновление списка заменяющего оборудования в форме«Замена оборудования».
6. МакрогруппаОткрыть – выполняетсяиз главной формы и содержит следующий макросы:
- Открыть Обр. Открытиеформы «Обрабатывающее оборудование»
- Открыть Тр. Открытиеформы «Транспортное оборудование»
- Открыть МаркаОбр.Открытие формы «Марка обрабатывающего оборудования»
- Открыть МаркаТр. Открытиеформы «Марки транспортного оборудования»
- Открыть Кластер. Открытиеформы «Кластер»
- Открыть ИП. Открытиеформы «Инструменты, приспособления»
- Открыть ГПС. Открытиеформы «ГПС»
- Открыть ГПСдоб. Открытиеформы «ГПС-добавление»
- Открыть ГАУ. Открытиеформы «ГАУ»
- Открыть ТНС. Открытиеформы «АТНСС»
- Открыть замену. Открытиеформы «Замена оборудования»
- Открыть отчет. Открытиеотчета «Обрабатывающее оборудование»
- Открыть отчетТр. Открытиеотчета «Транспортное оборудование»
Листинг программного кодамакросов приведен в приложении.
Кроме макросов в приложениииспользованы 17 запросов, созданных при помощи встроенного конструктора запросовAccess.
1. Запрос ДЛ, Диам, Частпо Марке
Определяет параметры оборудования(Длина, диаметр обрабатываемых деталей, наибольшая частота вращения гл. шпинделя)по марке оборудования.
2. Запрос №Кластерапо Марке
Определяет номера кластерапо параметрам: Длина, диаметр обрабатываемых деталей и наибольшей частота вращениягл. шпинделя.
3. Запрос №КластеровПроверка
Определяетчисло записей в запросе Запрос №Кластера по Марке .
4. ЗАПРОС Обрабатывающееоборудование
Объединяетдве таблицы: Обрабатывающее оборудование и Марка обрабатывающего оборудования.
5. ЗАПРОС Транспортногооборудование
Объединяетдве таблицы: Транспортное оборудование и Марка транспортного оборудования.
6. ЗапросМАХ№Кластера
Определяет максимальный табельныйномер в таблице «Кластер»
7. ЗапросЧислоТНС
Определяетчисло записей в таблице «АТНСС». Необходимо для запроса ЗапросГауПолностьюСвязанные
8. ЗапросОбр
Определяетмарку обрабатывающего оборудования вышедшего из строя для формы «Замена оборудования»
9. ЗапросТр
Определяетмарку транспортного оборудования вышедшего из строя для формы «Замена оборудования»
10.  ЗапросЗамены Обр
Используязапрос ЗапросОбр формирует список обрабатывающего оборудования, способноезаменить вышедшее из строя.
11.  ЗапросЗамены Тр
Используязапрос ЗапросТр формирует список обрабатывающего оборудования, способноезаменить вышедшее из строя.
12.  ЗапросГауСвязанные
Для кажогоГАУ определяет число связей с АТНСС. Необходимо для формы «Содержимое ГПС», длядобавления новой записи.
13.  ЗапросГауПолностьюСвязанные
Определяетсписок ГАУ, связанных с каждым АТНСС. Необходимо для формы «Содержимое ГПС», длядобавления новой записи.
14.  Запрос ГАУ свободных
Определяет список ГАУ, которыхмогут образовывать связь хоть с одной АТНСС. Необходимо для формы «Содержимое ГПС»,для добавления новой записи
15.  Запрос для ГПС содержимого Подчиненный
Определяет список АТНСС связанныхс выбранным ГАУ в форме «Содержимое ГПС» при добавлении новой записи.
16.  Запрос для ГПС содержимого
Определяетсписок АТНСС не связанных с выбранным ГАУ в форме «Содержимое ГПС» при добавленииновой записи.
17.ЗАПРОС ГАУ и АТНСС
Формируетсписок связанных ГАУ и АТНСС. Необходимо для формы «Содержимое ГПС»/>5.3 Описание приложения/> 5.3.1 Функциональные возможности приложения
При помощи разработанногоприложения можно:
1. Добавлять/изменятьзаписи, характеризующие обрабатывающее оборудование, марку обрабатывающего оборудования.
2. Добавлять/изменятьзаписи, характеризующие транспортное оборудование, марку транспортного оборудования.
3. Добавлять/изменятьзаписи, характеризующие ГАУ.
4. Добавлять/изменятьзаписи, характеризующие АТНСС.
5. Добавлять/изменятьзаписи, характеризующие ГПС.
6. Добавлять/изменятьзаписи, характеризующие Инструменты, приспособления
7. Получать отчет обобрабатывающем оборудовании.
8. Получать отчет обтранспортном оборудовании.
9. Получать информациюоб оборудовании способном заменить вышедшее из строя./> 5.3.2 Инструкция пользователя
После запуска БД (файл «БД.mdb») на экране появится Главная форма приложения,имеющая вид:
/>
На ней расположены несколькогрупп кнопок.
Кнопка “Марки обрабатывающегооборудования” вызываетформу для изменения маркировок обрабатывающего оборудования. При нажатии левой кнопкимыши открывается следующая форма:

/>
Для того, чтобы изменить параметрымарки оборудования необходимо в верхней части окна найти запись интересующей марки,выделить изменяемый параметр и просто изменить значение.
Для того чтобы добавить новуюмарку необходимо в нижней части окна корректно ввести все атрибуты новой марки инажать кнопку «Добавить новую марку оборудования». Добавление марки оборудованияуже существующей в списке запрещено!
Для того чтобы удалить маркунеобходимо в правой-нижней части окна выбрать из списка удаляемую марку и нажатькнопку «Удалить марку из списка». Внимание удаление марки оборудования используемойкаким-то оборудованием запрещено!
Эта форма аналогична предыдущей.Добавление, изменение и удалени выполняется аналогично.
Внимание! Изменение атрибута«Марка оборудования» запрещено!
Кнопка “Обрабатывающееоборудование” вызываетформу для изменения списка обрабатывающего оборудования. При нажатии левой кнопкимыши открывается форма:

/>
Эта форма аналогична предыдущей.Добавление, изменение и удаление выполняется аналогично. Добавление оборудованияс уже существующим в списке табельным номером запрещено! Удаление оборудования,к которому привязано какой-то инструмент или приспособление запрещено!
Внимание! Изменение атрибутов касающихся маркиоборудования, атрибута «№ кластера» и «Табельный номер» запрещено! («Габариты»,«L», «D», «Частота», «Мощность»)
Кнопка “ГАУ” предназначена для изменения списка ГАУ.При нажатии левой кнопки мыши открывается форма:
/>
Эта форма аналогична предыдущей.Добавление, изменение и удаление выполняется аналогично. Добавление ГАУ с уже существующимв списке табельным номером запрещено! Удаление ГАУ, к которому привязано оборудованиезапрещено! Изменение атрибута «Табельный номер» запрещено!
Кнопку “ Кластеры” предназначена для просмотра и удаления. При нажатии левой кнопки мыши открываетсяформа:
/>
Добавление и изменение записейв этой форме запрещены. Удаление выполняется также как и в предыдущих формах. Удалениекластера, к которому привязано какое-то оборудование запрещено!
Кнопка “Инструменты и приспособления” предназначена для изменения списка инструментов/приспособлений:
/>
Добавление, изменение и удалениевыполняется стандартно. Добавление Инструмента/приспособления с уже существующимв списке табельным номером запрещено! Изменение атрибута «Табельный номер» запрещено!
Кнопка “Марки транспортногооборудования” предназначенадля изменения списка маркировок транспортного оборудования:
/>
Добавление, изменение и удалениезаписей аналогично. Добавление марки оборудования уже существующей в списке запрещено!Удаление марки оборудования используемой каким-то оборудованием запрещено! Изменениеатрибута «Марка оборудования» запрещено!
Кнопка “Транспортное оборудование” предназначена для изменения списка транспортногооборудования:
/>
Добавление, изменение и удалениевыполняется аналогично. Добавление оборудования с уже существующим в списке табельнымномером запрещено!
Внимание! Изменение атрибутов касающихся маркиоборудования и «Табельный номер» запрещено! («Скорость», «Габариты», «Грузоподъемность»,«Вес»)
Кнопка “АТНСС” предназначены для изменения списка АТНСС.
/>
Добавление, изменение и удалениевыполняется аналогично. Добавление АТНСС с уже существующим в списке табельным номеромзапрещено! Изменение атрибута «Табельный номер» запрещено!
Кнопка “ГПС” предназначены для изменения списка ГПС
/>
Добавление новой связи выполняетсяв пустом окне. Внимание! Вначале необходимо выбрать связываемое ГАУ, а затемАТНСС.
Изменение записей выполняетсяаналогично предыдущих форм. Удаление производится так: вначале выделяется удалемаясвязь затем нажимается кнопка Del
Кнопка “Отчет по оборудования” предназначена для вывода отчета по транспортномуили обрабатывающему оборудованию в зависимости от сделанного выбора в окне-запросе:
/>
 
Отчет по обрабатывающемуоборудованию:
/>
Этот отчет можно распечататьнажав правой клавишей на отчете и выбрав дейстивие «Печать…»
Кнопка “Замена оборудования” предназначена для вывода списка оборудования,способного заменить вышедшее из строя:
/>
Для вывода списка необходимаопределить какое оборудование вышло из строя: обрабатывающее или транспортное ивыбрать табельный номер вышедшего из строя оборудования.
По нажатии кнопки “Выход” происходит закрытие БД.

/> ЗАКЛЮЧЕНИЕ
В результате выполнения курсовойработы была изучена методика проектирования БД, изучены декомпозиционный и ER-методыпроектирования БД, а также рассмотрены такие аспекты как системный анализ предметнойобласти и критерии выбора СУБД.
В соответствии с методикой,применяя вышеназванные методы, была разработана БД учета основного оборудованияна предприятии, а также приложение для работы с ней в среде MS Access 2003.
/>СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. А.Ю. Гончаров СамоучительAccess 2003, Москва 2004
2. И.А. Ахмадеев, А.Х. Хайруллин, С.Ю.Юрасов Базыданных, Наб.Челны 2004
3. Конспект лекций по БД,2010 год
4. А.С. Марков, К.Ю. ЛисовскийБазы Данных. Введение в теорию и методологию. Москва, 2004 
ПРИЛОЖЕНИЕ.
 
Листингпрограммного кода:
 
Форма«Главная»
 
Private Sub КнВыход_Click()
On Error GoTo Главная_Выход_Err
DoCmd.Quit acPrompt
Главная_Выход_Exit:
Exit Sub
Главная_Выход_Err:
MsgBox Error$
Resume Главная_Выход_Exit
End Sub
Private Sub Кнопка11_Click()
On Error GoTo Открыть_Открыть_ИП_Err
DoCmd.OpenForm «Инструменты, приспособления», acNormal, "","",, acNormal
Открыть_Открыть_ИП_Exit:
Exit Sub
Открыть_Открыть_ИП_Err:
MsgBox Error$
Resume Открыть_Открыть_ИП_Exit
End Sub
Private Sub Кнопка12_Click()
If MsgBox(«Открыть отчет по обрабатывающемуоборудованию?», vbYesNo,«Отчет») = vbYes Then
DoCmd.OpenReport «Обрабатывающее оборудование»,acViewPreview, "", "", acNormal
Else
DoCmd.OpenReport «Транспортное оборудование»,acViewPreview, "", "", acNormal
End If
End Sub
Private Sub Кнопка14_Click()
On ErrorGoTo Открыть_Открыть_МаркаОбр_Err
DoCmd.OpenForm«Марка обрабатывающего оборудования», acNormal, "", "",, acNormal
Открыть_Открыть_МаркаОбр_Exit:
Exit Sub
Открыть_Открыть_МаркаОбр_Err:
MsgBoxError$
ResumeОткрыть_Открыть_МаркаОбр_Exit
EndSub
Private Sub Кнопка15_Click()
On Error GoTo Открыть_Открыть_МаркаТр_Err
DoCmd.OpenForm «Марка транспортного оборудования», acNormal, "", "",, acNormal
Открыть_Открыть_МаркаТр_Exit:
Exit Sub
Открыть_Открыть_МаркаТр_Err:
MsgBox Error$
Resume Открыть_Открыть_МаркаТр_Exit
EndSub
Private Sub Кнопка16_Click()
On Error GoTo Открыть_Открыть_ГПСдоб_Err
DoCmd.OpenForm «ГПС»,acNormal, "", "",, acNormal
Открыть_Открыть_ГПСдоб_Exit:
Exit Sub
Открыть_Открыть_ГПСдоб_Err:
MsgBoxError$
Resume Открыть_Открыть_ГПСдоб_Exit
End Sub
Private Sub Кнопка17_Click()
On ErrorGoTo Открыть_Открыть_Кластер_Err
DoCmd.OpenForm«Кластер», acNormal, "", "",, acNormal
Открыть_Открыть_Кластер_Exit:
Exit Sub
Открыть_Открыть_Кластер_Err:
MsgBoxError$
ResumeОткрыть_Открыть_Кластер_Exit
End Sub
Private Sub Кнопка27_Click()
On ErrorGoTo Открыть_Открыть_замену_Err
DoCmd.OpenForm«Замена оборудования», acNormal, "", "",, acNormal
Открыть_Открыть_замену_Exit:
Exit Sub
Открыть_Открыть_замену_Err:
MsgBoxError$
ResumeОткрыть_Открыть_замену_Exit
EndSub
Private Sub Кнопка3_Click()
On Error GoTo Открыть_Открыть_Обр_Err
DoCmd.OpenForm «Обрабатывающее оборудование», acNormal, "", "",, acNormal
Открыть_Открыть_Обр_Exit:
Exit Sub
Открыть_Открыть_Обр_Err:
MsgBox Error$
Resume Открыть_Открыть_Обр_Exit
End Sub
Private Sub Кнопка7_Click()
On Error GoTo Открыть_Открыть_ГАУ_Err
DoCmd.OpenForm «ГАУ»,acNormal, "", "",, acNormal
Открыть_Открыть_ГАУ_Exit:
Exit Sub
Открыть_Открыть_ГАУ_Err:
MsgBoxError$
Resume Открыть_Открыть_ГАУ_Exit
End Sub
Private Sub Кнопка8_Click()
On Error GoTo Открыть_Открыть_ТНС_Err
DoCmd.OpenForm «АТНСС»,acNormal, "", "",, acNormal
Открыть_Открыть_ТНС_Exit:
Exit Sub
Открыть_Открыть_ТНС_Err:
MsgBoxError$
Resume Открыть_Открыть_ТНС_Exit
End Sub
Private Sub Кнопка4_Click()
On Error GoTo Открыть_Открыть_Тр_Err
DoCmd.OpenForm «Транспортное оборудование», acNormal, "", "",, acNormal
Открыть_Открыть_Тр_Exit:
Exit Sub
Открыть_Открыть_Тр_Err:
MsgBoxError$
Resume Открыть_Открыть_Тр_Exit
End Sub
Private Sub Кнопка9_Click()
On Error GoTo Открыть_Открыть_ГПС_Err
DoCmd.OpenForm «ГПС-добавление», acNormal, "", "",, acNormal
Открыть_Открыть_ГПС_Exit:
Exit Sub
Открыть_Открыть_ГПС_Err:
MsgBoxError$
ResumeОткрыть_Открыть_ГПС_Exit
EndSub
 
Форма«АТНСС»
 
Private Sub Кнопка34_Click()
On Error GoTo Добавление_Ввод_ТНС_Err
With CodeContextObject
If (Eval("(Forms! Атнсс![ТНС] Is Null) Or (Forms! Атнсс![Пропуск] Is Null) Or (Forms! Атнсс![Площ] Is Null)")) Then
MsgBox«Введены не все данные!», vbExclamation, «Добавление нового АТНСС.»
Exit Sub
End If
DoCmd.GoToControl «КодТНС»
DoCmd.FindRecord Val(Forms! Атнсс! ТНС), acEntire, False,, True,acCurrent, True
If (Val(Forms! Атнсс! ТНС) = Forms! Атнсс! КодТНС) Then
Beep
MsgBox«Такой номер уже существует!», vbExclamation, «Ошибка»
Exit Sub
End If
DoCmd.OpenForm «ДобавлениеАТНСС», acNormal, "", "",, acHidden
DoCmd.GoToRecord acForm, «ДобавлениеАТНСС», acNewRec
Forms! ДобавлениеАТНСС! КодТНС = Forms! Атнсс! ТНС
Forms! ДобавлениеАТНСС! ПропТНС= Forms! Атнсс! Пропуск
Forms! ДобавлениеАТНСС! ПлощТНС= Forms! Атнсс! Площ
DoCmd.CloseacForm, «ДобавлениеАТНСС»
DoCmd.Requery""
DoCmd.Requery«ТНСУдаления»
End With
Добавление_Ввод_ТНС_Exit:
Exit Sub
Добавление_Ввод_ТНС_Err:
DoCmd.CloseacForm, «ДобавлениеАТНСС»
'MsgBoxError$
Resume Добавление_Ввод_ТНС_Exit
End Sub
Private Sub Кнопка41_Click()
On Error GoTo Удаление_Удаление_ТНС_Err
If (Eval(«Forms! Атнсс! ТНСУдаления Is Null»)) Then
MsgBox«Введены не все данные!», vbExclamation, «Удаление АТНСС.»
Exit Sub
End If
DoCmd.OpenForm «ДобавлениеАТНСС», acNormal, "", "",, acHidden
DoCmd.SelectObject acForm, «ДобавлениеАТНСС», False
'DoCmd.GoToControl "[КодТНС]"
DoCmd.FindRecord Forms! Атнсс! ТНСУдаления, acEntire, False,, True, acCurrent,False
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.Close acForm, «ДобавлениеАТНСС»
DoCmd.Requery ""
DoCmd.Requery «ТНСУдаления»
Forms! Атнсс! ТНСУдаления= ""
Удаление_Удаление_ТНС_Exit:
Exit Sub
Удаление_Удаление_ТНС_Err:
DoCmd.CloseacForm, «ДобавлениеАТНСС»
m = MsgBox(«Удалениеневозможно так как имеется транспортное оборудование, привязанные к данному ГАУ!»,vbExclamation, «Удаление ГАУ»)
'MsgBoxError$
ResumeУдаление_Удаление_ТНС_Exit
End Sub
Форма«ГАУ»
 
Private Sub Кнопка34_Click()
On Error GoTo Добавление_Ввод_ГАУ_Err
With CodeContextObject
If (Eval("(Forms! Гау![ГАУ] Is Null) Or (Forms! Гау![Назн] Is Null) Or (Forms! Гау![Площ] Is Null)")) Then
MsgBox«Введены не все данные!», vbExclamation, «Добавление нового ГАУ.»
Exit Sub
End If
DoCmd.GoToControl «КодГАУ»
DoCmd.FindRecord Val(Forms! Гау![Гау]), acStart, False,, True,acCurrent, True
If (Val(Forms! Гау![Гау]) = (Forms! Гау![КодГАУ])) Then
Beep
MsgBox«Такой номер уже существует!», vbExclamation, «Ошибка»
Exit Sub
End If
DoCmd.OpenForm «ДобавлениеГАУ», acNormal, "", "",, acHidden
DoCmd.GoToRecord acForm, «ДобавлениеГАУ», acNewRec
Forms! ДобавлениеГАУ! КодГАУ = Forms! Гау! Гау
Forms! ДобавлениеГАУ! НазнГАУ= Forms! Гау! Назн
Forms! ДобавлениеГАУ! ПлощадьГАУ= Forms! Гау! Площ
DoCmd.Close acForm, «ДобавлениеГАУ»
DoCmd.Requery ""
DoCmd.Requery «ГАУУдаления»
End With
Добавление_Ввод_ГАУ_Exit:
Exit Sub
Добавление_Ввод_ГАУ_Err:
DoCmd.CloseacForm, «ДобавлениеГАУ»
'MsgBoxError$
Resume Добавление_Ввод_ГАУ_Exit
End Sub
Private Sub Кнопка41_Click()
On Error GoTo Удаление_Удаление_ГАУ_Err
If (Eval(«Forms! Гау! ГАУУдаления Is Null»)) Then
MsgBox«Введены не все данные!», vbExclamation, «Удаление ГАУ.»
Exit Sub
End If
DoCmd.OpenForm «ДобавлениеГАУ», acNormal, "", "",, acHidden
DoCmd.SelectObject acForm, «ДобавлениеГАУ», False
DoCmd.GoToControl "[КодГАУ]"
DoCmd.FindRecord Forms! Гау! ГАУУдаления, acEntire, False,, True, acCurrent,False
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.Close acForm, «ДобавлениеГАУ»
DoCmd.Requery ""
DoCmd.Requery «ГАУУдаления»
Forms! Гау! ГАУУдаления= ""
Удаление_Удаление_ГАУ_Exit:
Exit Sub
Удаление_Удаление_ГАУ_Err:
DoCmd.CloseacForm, «ДобавлениеГАУ»
m = MsgBox(«Удалениеневозможно так как имеется обрабатывающее оборудование, привязанные к данному ГАУ!»,vbExclamation, «Удаление ГАУ»)
MsgBoxError$
ResumeУдаление_Удаление_ГАУ_Exit
EndSub
 
Форма«Содержание ГПС»
 
Private Sub КодГАУ_Dirty(Cancel As Integer)
On Error GoTo Обновление_Err
КодТНС.Locked = False
DoCmd.Requery «КодТНС»
Обновление_Exit:
Exit Sub
Обновление_Err:
MsgBox Error$
Resume Обновление_Exit
End Sub
Private Sub КодТНС_Dirty(Cancel As Integer)
DoCmd.Requery «КодГау»
End Sub
Private Sub КодТНС_GotFocus()
If КодГАУ.Value > 0 Then Else m =MsgBox(«Введите вначалетабельный номер ГАУ!», vbInformation, «Внимание»): КодТНС.Locked = True
End Sub
 
Форма«ГПС»
 
Private Sub Кнопка34_Click()
On Error GoTo Добавление_Ввод_ГПС_Err
With CodeContextObject
If (Eval("(Forms![ГПС-добавление]![ГПС] Is Null) Or (Forms![ГПС-добавление]![Назн] Is Null) Or (Forms![ГПС-добавление]![Цех] Is Null)")) Then
MsgBox«Введены не все данные!», vbExclamation, «Добавление нового ГПС.»
Exit Sub
End If
DoCmd.GoToControl «КодГПС»
DoCmd.FindRecord Val(Forms![ГПС-добавление]! ГПС), acEntire, False,, True, acCurrent,True
If (Val(Forms![ГПС-добавление]! ГПС) = Forms![ГПС-добавление]! КодГПС) Then
Beep
MsgBox«Такой номер уже существует!», vbExclamation, «Ошибка»
Exit Sub
End If
DoCmd.OpenForm «ДобавлениеГПС», acNormal, "", "",, acHidden
DoCmd.GoToRecord acForm, «ДобавлениеГПС», acNewRec
Forms! ДобавлениеГПС! КодГПС = Forms![ГПС-добавление]! ГПС
Forms! ДобавлениеГПС! НазнГПС= Forms![ГПС-добавление]! Назн
Forms! ДобавлениеГПС! НаимЦех= Forms![ГПС-добавление]! Цех
DoCmd.CloseacForm, «ДобавлениеГПС»
DoCmd.Requery""
DoCmd.Requery«ГПСУдаления»
End With
Добавление_Ввод_ГПС_Exit:
Exit Sub
Добавление_Ввод_ГПС_Err:
DoCmd.CloseacForm, «ДобавлениеГПС»
MsgBoxError$
Resume Добавление_Ввод_ГПС_Exit
End Sub
Private Sub Кнопка41_Click()
On Error GoTo Удаление_Удаление_ГПС_Err
If (Eval(«Forms![ГПС-добавление]! ГПСУдаления Is Null»)) Then
MsgBox«Введены не все данные!», vbExclamation, «Удаление ГПС.»
Exit Sub
End If
DoCmd.OpenForm «ДобавлениеГПС», acNormal, "", "",, acHidden
DoCmd.SelectObject acForm, «ДобавлениеГПС», False
DoCmd.FindRecord Forms![ГПС-добавление]! ГПСУдаления, acEntire, False,, True, acCurrent, False
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.Close acForm, «ДобавлениеГПС»
DoCmd.Requery ""
DoCmd.Requery «ГПСУдаления»
Forms![ГПС-добавление]! ГПСУдаления= ""
Удаление_Удаление_ГПС_Exit:
Exit Sub
Удаление_Удаление_ГПС_Err:
DoCmd.CloseacForm, «ДобавлениеГПС»
m = MsgBox(«Удалениеневозможно так как имеются ГАУ или АТНСС, привязанные к данному ГПС!», vbExclamation,«Удаление ГПС»)
MsgBoxError$
ResumeУдаление_Удаление_ГПС_Exit
EndSub
 
Форма«Инструменты и приспособления»
 
Private Sub КнМарка_Click()
On Error GoTo Добавление_Ввод_инструмента_Err
With CodeContextObject
If (Eval("(Forms![Инструменты, приспособления]![Код] Is Null) Or (Forms![Инструменты, приспособления]![Обр] Is Null) Or (Forms![Инструменты, приспособления]![Марка] Is Null) Or (Forms![Инструменты, приспособления]![Назн] Is Null)")) Then
MsgBox«Введены не все данные!», vbExclamation, «Добавление нового инструмента/приспособления.»
Exit Sub
End If
DoCmd.GoToControl «КодИП»
DoCmd.FindRecord Val(Forms![Инструменты, приспособления]! Код), acEntire, False,, True, acCurrent,True
If (Val(Forms![Инструменты, приспособления]! Код)= Forms![Инструменты, приспособления]! КодИП) Then
Beep
MsgBox«Такой номер уже существует!», vbExclamation, «Ошибка»
Exit Sub
End If
DoCmd.OpenForm «ДобавлениеИП», acNormal, "", "",, acHidden
DoCmd.GoToRecord acForm, «ДобавлениеИП», acNewRec
Forms! ДобавлениеИП! КодИП = Forms![Инструменты, приспособления]! Код
Forms! ДобавлениеИП! КодОбр= Forms![Инструменты, приспособления]! Обр
Forms! ДобавлениеИП! МаркИП= Forms![Инструменты, приспособления]! Марка
Forms! ДобавлениеИП! НазнИП= Forms![Инструменты, приспособления]! Назн
Forms! ДобавлениеИП! ИнсПрисп= Forms![Инструменты, приспособления]! ИП
DoCmd.CloseacForm, «ДобавлениеИП»
DoCmd.Requery""
DoCmd.Requery«КодУдаления»
End With
Добавление_Ввод_инструмента_Exit:
Exit Sub
Добавление_Ввод_инструмента_Err:
DoCmd.CloseacForm, «ДобавлениеИП»
'MsgBoxError$
ResumeДобавление_Ввод_инструмента_Exit
End Sub
Private Sub Кнопка58_Click()
On ErrorGoTo Удаление_Удаление_инструмента_Err
If (Eval(«Forms![Инструменты, приспособления]! КодУдаленияIs Null»)) Then
MsgBox«Введены не все данные!», vbExclamation, «Удаление инструмента/приспособления.»
Exit Sub
End If
DoCmd.OpenForm «ДобавлениеИП», acNormal, "", "",, acHidden
DoCmd.SelectObject acForm, «ДобавлениеИП», False
DoCmd.FindRecord Forms![Инструменты, приспособления]! КодУдаления, acEntire, False,, True, acCurrent,False
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.Close acForm, «ДобавлениеИП»
DoCmd.Requery ""
DoCmd.Requery «КодУдаления»
Forms![Инструменты, приспособления]! КодУдаления= ""
Удаление_Удаление_инструмента_Exit:
Exit Sub
Удаление_Удаление_инструмента_Err:
DoCmd.CloseacForm, «ДобавлениеИП»
m = MsgBox(«Неизвестнаяошибка. Удаление невозможно», vbExclamation, «Удаление инструмента илиприспособления»)
MsgBoxError$
ResumeУдаление_Удаление_инструмента_Exit
End Sub
 
Форма«Кластер»
 
Private Sub Кнопка33_Click()
On ErrorGoTo Удаление_Удаление_кластера_Err
If (Eval(«Forms! Кластер! Код Is Null»)) Then
MsgBox«Введены не все данные!», vbExclamation, «Удаление кластера»
Exit Sub
End If
DoCmd.OpenForm «ДобавлениеКластер», acNormal, "", "",, acHidden
DoCmd.SelectObject acForm, «ДобавлениеКластер», False
DoCmd.GoToControl "[КодКласт]"
DoCmd.FindRecord Forms! Кластер! Код, acEntire, False,, True, acCurrent,False
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.Close acForm, «ДобавлениеКластер»
DoCmd.Requery ""
DoCmd.Requery «Код»
Forms! Кластер! Код= ""
Удаление_Удаление_кластера_Exit:
Exit Sub
Удаление_Удаление_кластера_Err:
DoCmd.CloseacForm, «ДобавлениеКластер»
m = MsgBox(«Удалениекластера невозможно так как имеется оборудование, привязанное к данному кластеру!»,vbExclamation, «Удаление кластера»)
'MsgBoxError$
ResumeУдаление_Удаление_кластера_Exit
EndSub
 
Форма«Марка обрабатывающего оборудования»
 
PrivateSub КнМарка_Click()
On ErrorGoTo Добавление_Ввод_марки_оборудования_Err
With CodeContextObject
If (Eval("(Forms![Маркаобрабатывающего оборудования]![Марка] Is Null) Or (Forms![Марка обрабатывающегооборудования]![Габарит] Is Null) Or (Forms![Марка обрабатывающего оборудования]![Длина]Is Null) Or (Forms![Марка обрабатывающего оборудования]![Диаметр] Is Null) Or (Forms![Маркаобрабатывающего оборудования]![Частота] Is Null) Or (Forms![Марка обрабатывающегооборудования]![Мощность] Is Null)")) Then
MsgBox«Введены не все данные!», vbExclamation, «Добавление новой маркиоборудования»
Exit Sub
End If
DoCmd.GoToControl «МаркаОбр»
DoCmd.FindRecord Val(Forms![Марка обрабатывающего оборудования]! Марка), acEntire, False,, True,acCurrent, True
If (Forms![Маркаобрабатывающего оборудования]! Марка = Forms![Марка обрабатывающего оборудования]! МаркаОбр)Then
Beep
MsgBox«Такой номер уже существует!», vbExclamation, «Ошибка»
Exit Sub
End If
DoCmd.OpenForm «ДобавлениеМаркиОбр», acNormal, "", "",, acIcon
DoCmd.GoToRecord acForm, «ДобавлениеМаркиОбр», acNewRec
Forms! ДобавлениеМаркиОбр! МаркаОбр = Forms![Марка обрабатывающего оборудования]! Марка
Forms! ДобавлениеМаркиОбр! ГабарОбр= Forms![Марка обрабатывающего оборудования]! Габарит
Forms! ДобавлениеМаркиОбр! ДлДетОбр= Forms![Марка обрабатывающего оборудования]! Длина
Forms! ДобавлениеМаркиОбр! ДиамДетОбр= Forms![Марка обрабатывающего оборудования]! Диаметр
Forms! ДобавлениеМаркиОбр! ЧастотОбр= Forms![Марка обрабатывающего оборудования]! Частота
Forms! ДобавлениеМаркиОбр! МощОбр= Forms![Марка обрабатывающего оборудования]! Мощность
DoCmd.CloseacForm, «ДобавлениеМаркиОбр»
DoCmd.Requery""
DoCmd.Requery«МаркаУдаление»
End With
Добавление_Ввод_марки_оборудования_Exit:
Exit Sub
Добавление_Ввод_марки_оборудования_Err:
DoCmd.CloseacForm, «ДобавлениеМаркиОбр»
MsgBoxError$
ResumeДобавление_Ввод_марки_оборудования_Exit
End Sub
Private Sub Кнопка58_Click()
On ErrorGoTo Удаление_Удаление_марки_оборудования_Err
If (Eval(«Forms![Маркаобрабатывающего оборудования]! МаркаУдаление Is Null»)) Then
MsgBox«Введены не все данные!», vbExclamation, «Удаление марки оборудования»
Exit Sub
End If
DoCmd.OpenForm «ДобавлениеМаркиОбр», acNormal, "", "",, acHidden
DoCmd.SelectObject acForm, «ДобавлениеМаркиОбр», False
DoCmd.GoToControl "[МаркаОбр]"
DoCmd.FindRecord Forms![Марка обрабатывающего оборудования]! МаркаУдаление, acEntire, False,, True,acCurrent, False
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.Close acForm, «ДобавлениеМаркиОбр»
DoCmd.Requery ""
DoCmd.Requery «МаркаУдаление»
Forms![Маркаобрабатывающего оборудования]! МаркаУдаление = ""
End
Удаление_Удаление_марки_оборудования_Exit:
Exit Sub
Удаление_Удаление_марки_оборудования_Err:
DoCmd.CloseacForm, «ДобавлениеМаркиОбр»
m = MsgBox(«Удалениеневозможно так как имеется оборудование использующее эту марку!», vbExclamation,«Удаление марки оборудования»)
'MsgBoxError$
ResumeУдаление_Удаление_марки_оборудования_Exit
EndSub
 
Форма«Марка транспортного оборудования»
 
PrivateSub КнДобавить_Click()
On ErrorGoTo Добавление_Ввод_марки_транспорта_Err
With CodeContextObject
If (Eval("(Forms![Маркатранспортного оборудования]![Марка] Is Null) Or (Forms![Марка транспортного оборудования]![Скорость]Is Null) Or (Forms![Марка транспортного оборудования]![Габарит] Is Null) Or (Forms![Маркатранспортного оборудования]![Груз] Is Null) Or (Forms![Марка транспортного оборудования]![Вес]Is Null)")) Then
MsgBox«Введены не все данные!», vbExclamation, «Добавление новой маркиоборудования»
Exit Sub
End If
DoCmd.GoToControl «МаркаТр»
DoCmd.FindRecord Val(Forms![Марка транспортного оборудования]! Марка), acEntire, False,, True,acCurrent, True
If (Forms![Маркатранспортного оборудования]! Марка = Forms![Марка транспортного оборудования]! МаркаТр)Then
Beep
MsgBox«Такой номер уже существует!», vbExclamation, «Ошибка»
Exit Sub
End If
DoCmd.OpenForm «ДобавлениеМаркиТр», acNormal, "", "",, acHidden
DoCmd.GoToRecord acForm, «ДобавлениеМаркиТр», acNewRec
Forms! ДобавлениеМаркиТр! МаркаТр = Forms![Марка транспортного оборудования]! Марка
Forms! ДобавлениеМаркиТр! СкорТр= Forms![Марка транспортного оборудования]! Скорость
Forms! ДобавлениеМаркиТр! ГабарТр= Forms![Марка транспортного оборудования]! Габарит
Forms! ДобавлениеМаркиТр! ГрузТр= Forms![Марка транспортного оборудования]! Груз
Forms! ДобавлениеМаркиТр! МассаТр= Forms![Марка транспортного оборудования]! Вес
DoCmd.CloseacForm, «ДобавлениеМаркиТр»
DoCmd.Requery""
DoCmd.Requery«МаркаУдаление»
End With
Добавление_Ввод_марки_транспорта_Exit:
Exit Sub
Добавление_Ввод_марки_транспорта_Err:
DoCmd.CloseacForm, «ДобавлениеМаркиТр»
MsgBoxError$
ResumeДобавление_Ввод_марки_транспорта_Exit
End Sub
Private Sub Кнопка33_Click()
On ErrorGoTo Удаление_Удаление_марки_транспорта_Err
If (Eval(«Forms![Маркатранспортного оборудования]! МаркаУдаление Is Null»)) Then
MsgBox«Введены не все данные!», vbExclamation, «Удаление марки оборудования»
Exit Sub
End If
DoCmd.OpenForm «ДобавлениеМаркиТр», acNormal, "", "",, acHidden
DoCmd.SelectObject acForm, «ДобавлениеМаркиТр», False
'DoCmd.GoToControl "[МаркаТр]"
DoCmd.FindRecord Forms![Марка транспортного оборудования]! МаркаУдаление, acEntire, False,, True,acCurrent, False
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.Close acForm, «ДобавлениеМаркиТр»
DoCmd.Requery ""
DoCmd.Requery «МаркаУдаление»
Forms![Маркатранспортного оборудования]! МаркаУдаление = ""
Удаление_Удаление_марки_транспорта_Exit:
Exit Sub
Удаление_Удаление_марки_транспорта_Err:
DoCmd.CloseacForm, «ДобавлениеМаркиТр»
m = MsgBox(«Удалениеневозможно так как имеется оборудование использующее эту марку!», vbExclamation,«Удаление марки оборудования»)
MsgBoxError$
ResumeУдаление_Удаление_марки_транспорта_Exit
EndSub
 
Форма«Обрабатывающее оборудование»
 
PrivateSub КнДобавить_Click()
On ErrorGoTo Добавление_Ввод_оборудования_Err
With CodeContextObject
If (Eval("(Forms![Обрабатывающееоборудование]![Марка] Is Null) Or (Forms![Обрабатывающее оборудование]![Гау] IsNull) Or (Forms![Обрабатывающее оборудование]![Дата] Is Null) Or (Forms![Обрабатывающееоборудование]![Стоим] Is Null) Or (Forms![Обрабатывающее оборудование]![Код] IsNull)")) Then
MsgBox«Введены не все данные!», vbExclamation, «Добавление нового оборудования»
Exit Sub
End If
DoCmd.GoToControl «КодОбр»
DoCmd.FindRecord Val(Forms![Обрабатывающее оборудование]! Код), acEntire, False,, True, acCurrent,True
If (Val(Forms![Обрабатывающееоборудование]! Код) = Forms![Обрабатывающее оборудование]! КодОбр) Then
Beep
MsgBox«Такой номер уже существует!», vbExclamation, «Ошибка»
Exit Sub
End If
DoCmd.OpenForm «ДобавлениеОбр», acNormal, "", "",, acHidden
DoCmd.OpenForm «Запрос №Кластеров Проверка», acNormal, "", "",, acHidden
DoCmd.OpenForm «Запрос №Кластера по Марке», acNormal, "", "",, acHidden
DoCmd.GoToRecord acForm, «ДобавлениеОбр», acNewRec
If (Forms![Запрос №Кластеров Проверка]!CountКодКласт = 0) Then
DoCmd.OpenForm «ДобавлениеКластер», acNormal, "", "",, acHidden
DoCmd.GoToRecord acForm, «ДобавлениеКластер», acNewRec
DoCmd.OpenForm «ФормаЗапросМАХ№Кластера», acNormal, "","",, acHidden
Forms! ДобавлениеКластер! КодКласт= Forms! ФормаЗапросМАХ№Кластера!MaxКодКласт + 1
Forms! ДобавлениеОбр! КодКласт= Forms! ФормаЗапросМАХ№Кластера!MaxКодКласт + 1
DoCmd.CloseacForm, «ФормаЗапросМАХ№Кластера»
DoCmd.OpenForm«ФормаЗапросДЛ, Диам, ЧастМарке», acNormal, "", "",,acHidden
Forms! ДобавлениеКластер! ЧастКласт= Forms![ФормаЗапросДЛ, Диам, ЧастМарке]! ЧастотОбр
Forms! ДобавлениеКластер! ДлинКласт= Forms![ФормаЗапросДЛ, Диам, ЧастМарке]! ДлДетОбр
Forms! ДобавлениеКластер! ДиамКласт= Forms![ФормаЗапросДЛ, Диам, ЧастМарке]! ДиамДетОбр
Forms! ДобавлениеКластер! ОтклКласт= 17
DoCmd.CloseacForm, «ФормаЗапросДЛ, Диам, ЧастМарке»
DoCmd.Close acForm, «ДобавлениеКластер»
End If
If (Forms![Запрос№Кластеров Проверка]!CountКодКласт = 1) Then
Forms! ДобавлениеОбр! КодКласт= Forms![Запрос №Кластера по Марке]! КодКласт
End If
DoCmd.CloseacForm, «Запрос №Кластеров Проверка»
DoCmd.CloseacForm, «Запрос №Кластера по Марке»
Forms! ДобавлениеОбр! КодОбр= Forms![Обрабатывающее оборудование]! Код
Forms! ДобавлениеОбр! МаркаОбр= Forms![Обрабатывающее оборудование]! Марка
Forms! ДобавлениеОбр! ДатаОбр= Forms![Обрабатывающее оборудование]! Дата
Forms! ДобавлениеОбр! СтоимОбр= Forms![Обрабатывающее оборудование]! Стоим
Forms! ДобавлениеОбр! КодГАУ= Forms![Обрабатывающее оборудование]! Гау
DoCmd.CloseacForm, «ДобавлениеОбр»
DoCmd.Requery""
DoCmd.Requery«КодУдаления»
End With
Добавление_Ввод_оборудования_Exit:
Exit Sub
Добавление_Ввод_оборудования_Err:
DoCmd.CloseacForm, «ФормаЗапросМАХ№Кластера»
DoCmd.CloseacForm, «ФормаЗапросДЛ, Диам, ЧастМарке»
DoCmd.CloseacForm, «ДобавлениеКластер»
DoCmd.CloseacForm, «Запрос №Кластеров Проверка»
DoCmd.CloseacForm, «Запрос №Кластера по Марке»
DoCmd.CloseacForm, «ДобавлениеОбр»
MsgBoxError$
ResumeДобавление_Ввод_оборудования_Exit
EndSub
PrivateSub Кнопка33_Click()
On ErrorGoTo Удаление_Удаление_оборудования_Err
If (Eval(«Forms![Обрабатывающееоборудование]! КодУдаления Is Null»)) Then
MsgBox«Введены не все данные!», vbExclamation, «Удаление оборудования»
Exit Sub
End If
DoCmd.OpenForm «ДобавлениеОбр», acNormal, "", "",, acHidden
DoCmd.SelectObject acForm, «ДобавлениеОбр», False
DoCmd.GoToControl "[КодОбр]"
DoCmd.FindRecord Forms![Обрабатывающее оборудование]! КодУдаления, acEntire, False,, True, acCurrent, False
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.Close acForm, «ДобавлениеОбр»
DoCmd.Requery ""
DoCmd.Requery «КодУдаления»
Forms![Обрабатывающееоборудование]! КодУдаления = ""
Удаление_Удаление_оборудования_Exit:
Exit Sub
Удаление_Удаление_оборудования_Err:
DoCmd.CloseacForm, «ДобавлениеОбр»
m = MsgBox(«Удалениеневозможно так как имеются инструменты или приспособления, привязанные к данномуоборудованию!», vbExclamation, «Удаление оборудования»)
ResumeУдаление_Удаление_оборудования_Exit
EndSub
 
Форма«Транспортного оборудования»
 
PrivateSub КнДобавить_Click()
On ErrorGoTo Добавление_Ввод_транспорта_Err
With CodeContextObject
If (Eval("(Forms![Транспортноеоборудование]![Марка] Is Null) Or (Forms![Транспортное оборудование]![Атнсс] IsNull) Or (Forms![Транспортное оборудование]![Код] Is Null) Or (Forms![Транспортноеоборудование]![Стоим] Is Null)")) Then
MsgBox«Введены не все данные!», vbExclamation, «Добавление нового оборудования»
Exit Sub
End If
DoCmd.GoToControl «КодТр»
DoCmd.FindRecord Val(Forms![Транспортное оборудование]! Код), acEntire, False,, True, acCurrent,True
If (Val(Forms![Транспортноеоборудование]! Код) = Forms![Транспортное оборудование]! КодТр) Then
Beep
MsgBox«Такой номер уже существует!», vbExclamation, «Ошибка»
Exit Sub
End If
DoCmd.OpenForm «ДобавлениеТр», acNormal, "", "",, acHidden
DoCmd.GoToRecord acForm, «ДобавлениеТр», acNewRec
Forms! ДобавлениеТр! КодТр = Forms![Транспортное оборудование]! Код
Forms! ДобавлениеТр! МаркаТр= Forms![Транспортное оборудование]! Марка
Forms! ДобавлениеТр! КодТНС= Forms![Транспортное оборудование]! Атнсс
Forms! ДобавлениеТр! СтоимТр= Forms![Транспортное оборудование]! Стоим
DoCmd.CloseacForm, «ДобавлениеТр»
DoCmd.Requery""
DoCmd.Requery«КодУдаления»
End With
Добавление_Ввод_транспорта_Exit:
Exit Sub
Добавление_Ввод_транспорта_Err:
DoCmd.CloseacForm, «ДобавлениеТр»
'MsgBoxError$
ResumeДобавление_Ввод_транспорта_Exit
EndSub
PrivateSub Кнопка33_Click()
On ErrorGoTo Удаление_Удаление_транспорта_Err
If (Eval(«Forms![Транспортноеоборудование]! КодУдаления Is Null»)) Then
MsgBox«Введены не все данные!», vbExclamation, «Удаление оборудования»
Exit Sub
End If
DoCmd.OpenForm «ДобавлениеТр», acNormal, "", "",, acHidden
DoCmd.SelectObject acForm, «ДобавлениеТр», False
DoCmd.GoToControl "[КодТр]"
DoCmd.FindRecord Forms![Транспортное оборудование]! КодУдаления, acEntire, False, True, acCurrent, False
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.Close acForm, «ДобавлениеТр»
DoCmd.Requery ""
DoCmd.Requery «КодУдаления»
Forms![Транспортноеоборудование]! КодУдаления = ""
Удаление_Удаление_транспорта_Exit:
Exit Sub
Удаление_Удаление_транспорта_Err:
DoCmd.CloseacForm, «ДобавлениеТр»
m = MsgBox(«Неизвестнаяошибка. Удаление невозможно!», vbExclamation, «Удаление оборудования»)
''MsgBoxError$
ResumeУдаление_Удаление_транспорта_Exit
EndSub
 
Форма«Замена оборудования»
 
PrivateSub Кнопка6_Click()
If [Forms]![Отчет]![Flag].Value= Null Then m = MsgBox(«Введите табельный номер», vbExclamation, «Ошибка»):Exit Sub
If [Forms]![Отчет]![Flag].Value = 1 Then
ЗапросОбр
Else
ЗапросТр
End If
End Sub
Private Sub Список0_Click()
DoCmd.Requery «Table»
End Sub
Private Sub Флажок4_Click()
If Флажок4.ValueThen
[Список0].RowSource= «Обрабатывающее оборудование»
Table.SourceObject= «Запрос.ЗапросЗамены Обр»
Else
[Список0].RowSource= «Транспортное оборудование»
Table.SourceObject= «Запрос.ЗапросЗамены Тр»
End If
[Список0].Value = Null
End Sub


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Бюро кредитных историй: проблемы и перспективы развития
Реферат Современные формы и методы розничной продажи товаров и их эффективность на примере ООО Евросеть
Реферат Отчет о производственной преддипломной практике по МУЗ Центральная городская больница
Реферат Трагедия Пушкина «Моцарт и Сальери». Судьба искусства.
Реферат Зарядка и разрядка конденсатора
Реферат Образ Захара и его роль в раскрытии характера главного героя романа ИАГончарова Обломов
Реферат Ты навсегда в ответе за тех, кого приручил
Реферат Особенности психофизиологических процессов личности в период "середины жизни"
Реферат Проектирование городских координатных АТС
Реферат «Утверждаю» Декан факультета социальных наук
Реферат Денежные потоки. Операционный леверидж
Реферат Универсальный язык и универсальная письменность: утопия или реальность
Реферат Галерии Гельмана. \"Проект Водка\"
Реферат Использование переносного значения слова для создания художественных тропов
Реферат Human Cloning Essay Research Paper Biological AspectsTrue