Курсовая на тему Разработка СУБД Оперативный учет производственной деятельности промышленного предприятия 2
Работа добавлена на сайт bukvasha.net: 2014-11-30Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
РЕФЕРАТ
Курсовой проект: страниц , рисунков , таблиц , приложений , источников .
Целью написания данного проекта является создание базы данных для контролирования работы ботанического сада.. Этот проект позволит ознакомиться с растениями, произрастающими на участках, получить о них необходимую информацию, просмотреть список сотрудников.
Результатом изучения теоретического материала является реализованная база данных «Функционирование ботанического сада» в СУБД Microsoft Access, имеющая удобный пользовательский интерфейс, предназначенный для работы различных групп пользователей.
БАЗА ДАННЫХ, ТАБЛИЦА, ПОЛЕ, ЗАПИСЬ, ФОРМА, ЗАПРОС, ОТЧЕТ, БОТАНИЧЕСКИЙ САД, УЧАСТОК
СОДЕРЖАНИЕ
Введение
1 Постановка задачи
1.1 Общая постановка задачи
1.2 Основные составные компоненты проектируемой БД
2 Описание предметной области
3 Описание схемы объект-отношение
4 Выбор и обоснование типа модели данных
4.1 Иерархическая модель данных
4.2 Сетевая модель данных
4.3 Реляционная модель данных
5 Обоснование выбора СУБД
6 Описание концептуальной модели реляционной БД
6.1 Схема данных
6.2 Описание и обоснование полей таблиц
7 Группы пользователей
8 Порядок функионирования системы
9. Основные запросы к системе
10 Перечень созданных форм
10.1 Краткое описание и предназначение форм
11 Перечень сфомированных отчетов
12 Принципы функционирования системы
12.1 Обоснование создания архивов БД
12.2 Режим восстановления данных
13 Комплект поставки и порядок установки
Выводы
Список используемой литературы
Приложение В Примеры заполненных таблиц
Приложение Г Описание макросов, использованных в БД
Это значительно облегчило работу различных информационных служб. В современном мире всевозможных данных, сведений не просто много, а гигантское количество. Зачастую получая информацию из различных источников, сотрудники предприятия наблюдали дублирование данных. Это никого не радовало. Перед создателями личной картотеки вставал вопрос: как разместить информацию так, чтобы минимально использовать физическое дисковое пространство, оперативную память и при этом обеспечить оперативный доступ к данным.
Компьютеры проникли в большинство предприятий, учебных заведений, исследовательских институтов, промышленных центров. Это облегчило обработку огромного количества информации, поиска данных. Большая помощь оказана отделу кадров. Теперь совсем не трудно делать быстро и качественно различные выборки, запросы по личному составу работников института, по успеваемости студентов института и т.д.
1 ПОСТАНОВКА ЗАДАЧИ
В целом, база данных «Функционирование ботанического сада» должна:
1) обеспечивать возможность запрашивать, отыскивать, изменять и систематизировать информацию в БД;
2) иметь удобный пользовательский интерфейс для работы с базой данных пользователя, не являющегося специалистом в области обработки данных;
3) содержать систему помощи, необходимую справочную информацию и информацию о программе;
4) содержать необходимые запросы и формы для обработки хранимой информации;
5) обеспечивать защиту от несанкционированного доступа (использовать пароли и защиту на уровне пользователей);
6) контролировать избыточность (предусматривать архивацию данных), непротиворечивость, сохранность и достоверность хранимой в БД информации.
7) содержать необходимую информацию и предоставлять ее по требованию.
1.2 Основные составные компоненты проектируемой БД
Для реализации поставленной задачи в проектируемую БД необходимо включить следующие разделы:
1) информация о выращиваемых растениях;
2) информация о сотрудниках;
3) информация о участках.
2 ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ
Для функционирования ботанического сада необходимо знать информацию о выращиваемых растениях, работающих сотрудниках и участках.
Ботанический сад содержит несколько участков. У каждого участка есть свое название. На каждом участке выращивается определенный набор растений и работает персонал. Каждый пользователь может просмотреть список сотрудников и растений по каждому участку.
О растениях необходимо знать на каком участке оно произрастает, его тип, семейство, его название и дату посадки. Типы и семейства растений выбираются из уже существующего справочника.
Для полноценного функционирования и контроля над ботаническим садом нужно знать ФИО каждого сотрудника, его должность, стаж работы, дату рождения, должность и участок, на котором он работает. Все это нужно для контроля над растениями на каждом участке.
Предметная область разработанного проекта представляет собой набор систематизированных сведений необходимых для автоматизации функционирования ботанического сада.
3 ОПИСАНИЕ СХЕМЫ ОБЪЕКТ-ОТНОШЕНИЕ
Исходя из моей предметной области, я выделила следующие объекты: «Растения», «Сотрудники», «Участки», «Должности», «Ученые звания», «Типы растений», «Семейства». Каждый объект имеет некоторые свойства. Объект «Растения» имеет свойство: «название», «тип», «семейство»; объект «Сотрудники» имеет свойства: «ФИО», «дата рождения», «должность», «стаж работы», «ученое звание»; У объекта «Участки» есть свойства: «номер», «название»; У объекта «Должности» свойство: «название»; Объект «Ученые звания» имеет свойство: «название»; Объект «Типы растений» имеет свойство «название»; объект «Семейства» имеет свойство «название».
Выделим необходимые отношения между объектами исходя из схемы объект-отношение, представленной на рисунке 3.1:
1. СОТРУДНИК имеет ДОЛЖНОСТЬ;
2. СОТРУДНИК имеет УЧЕНОЕ ЗВАНИЕ;
3. РАСТЕНИЕ имеет ТИП;
4. РАСТЕНИЕ имеет СЕМЕЙСТВО.
5. СОТРУДНИК выращивает РАСТЕНИЕ на УЧАСТКЕ
Объект «Должности» относится к объекту «Сотрудники» как 1/∞ т.к. одну должность может иметь несколько сотрудников, а один сотрудник может иметь только одну должность. Объект «Ученые звания» относится к объекту «Сотрудники» как 1/∞ т.к. одно ученое звание может иметь несколько сотрудников, а один сотрудник может иметь только одно ученое звание. Объект «Типы растений» относится к объекту «Растения» как 1/∞ т.к. одного типа может быть несколько растений, а одно растение может быть только одного типа. Объект «Семейства» относится к объекту «Растения» как 1/∞ т.к. одного семейства может быть несколько растений, а одно растение может быть только одного семейства. Объект «Сотрудники» и таблица «Растения» относятся к объекту «Выращивается» как 1/∞ т.к. один сотрудник может выращивать несколько растений и одно растение может выращиваться несколькими сотрудниками одновременно.
SHAPE \* MERGEFORMAT
Рисунок 3.1 – Схема объект-отношение
Из приведенной схемы (рисунок 3.1) видно, что между объектами существуют связи имеющие тип как «один ко многим», так и «один к одному». Это позволяет осуществить проектирование БД с использованием как реляционной, так и сетевой модели данных. Предпочтение было отдано реляционной модели данных.
БД может быть основана на одной модели или на совокупности нескольких моделей. Любую модель данных можно рассматривать как объект, который характеризуется своими свойствами (параметрами), и над ней, как над объектом, можно производить какие-либо действия.
Любая модель должна обеспечивать такие операции над БД:
- поиск указанного элемента базы;
- переход от одних данных к другим;
- движение по записям;
- поиск записи;
- удаление записи;
Существуют три основных типа моделей данных – реляционная, иерархическая и сетевая.
Таким образом, ИМД представляет собой упорядоченную совокупность экземпляров типа «дерево» (деревьев), содержащих экземпляры типа «запись» (записи).
В соответствии с определением типа «дерево», можно заключить, что между предками и потомками автоматически поддерживается контроль целостности связей. Основное правило контроля целостности формулируется следующим образом: потомок не может существовать без родителя, а некоторых родителей может не быть потомков. Механизмы поддержки целостности связей между записями различных деревьев отсутствуют.
Данные в базе с приведенной схемой для разрабатываемого ПП могут выглядеть, например, как показано на рисунке 4.1.
Рисунок 4.1 – Пример иерархической модели данных для проектируемой БД
Корневыми являются сразу два типа Тип и Город, которые в свою очередь имеют свои подчиненные типы. Тип, как и Город имеет подчиненный тип Предприятие, тогда как Предприятие имеет подчиненный тип Цех. Тип Цех, в свою очередь имеет подчиненный тип Изделие. К достоинствам ИМД относят эффективное использование памяти ЭВМ и неплохие показатели времени выполнения основных операций над данными. А именно: поиск указанного экземпляра БД, переход от одного дерева к другому, переход от одной записи к другой внутри дерева, вставка новой записи в указанную позицию, удаление текущей записи. ИМД удобна для работы с иерархически упорядоченной информацией. Недостатком ИМД является ее громоздкость для обработки информации с достаточно сложными логическими связями, а также сложность понимания для обычного пользователя.
СМД состоит из набора записей и набора соответствующих связей. В отличие от ИМД в СМД запись-потомок может иметь произвольное число записей-предков (сводных родителей).
Схема СМД для данной БД показана на рисунке 4.2. Типы связей здесь обозначены надписями на соединяющих типы записей линиях.
Курсовой проект: страниц , рисунков , таблиц , приложений , источников .
Целью написания данного проекта является создание базы данных для контролирования работы ботанического сада.. Этот проект позволит ознакомиться с растениями, произрастающими на участках, получить о них необходимую информацию, просмотреть список сотрудников.
Результатом изучения теоретического материала является реализованная база данных «Функционирование ботанического сада» в СУБД Microsoft Access, имеющая удобный пользовательский интерфейс, предназначенный для работы различных групп пользователей.
БАЗА ДАННЫХ, ТАБЛИЦА, ПОЛЕ, ЗАПИСЬ, ФОРМА, ЗАПРОС, ОТЧЕТ, БОТАНИЧЕСКИЙ САД, УЧАСТОК
СОДЕРЖАНИЕ
Введение
1 Постановка задачи
1.1 Общая постановка задачи
1.2 Основные составные компоненты проектируемой БД
2 Описание предметной области
3 Описание схемы объект-отношение
4 Выбор и обоснование типа модели данных
4.1 Иерархическая модель данных
4.2 Сетевая модель данных
4.3 Реляционная модель данных
5 Обоснование выбора СУБД
6 Описание концептуальной модели реляционной БД
6.1 Схема данных
6.2 Описание и обоснование полей таблиц
7 Группы пользователей
8 Порядок функионирования системы
9. Основные запросы к системе
10 Перечень созданных форм
10.1 Краткое описание и предназначение форм
11 Перечень сфомированных отчетов
12 Принципы функционирования системы
12.1 Обоснование создания архивов БД
12.2 Режим восстановления данных
13 Комплект поставки и порядок установки
Выводы
Список используемой литературы
Приложение А Техническое задание
Приложение Б Руководство пользователяПриложение В Примеры заполненных таблиц
Приложение Г Описание макросов, использованных в БД
Приложение Д Листинги программных модулей
ВВЕДЕНИЕ
Данный курсовой проект создан в СУБД Ассеss 2000. Преимуществом данной БД является быстрота и легкость создания базы данных, не имея профессиональных знаний и наглядное предоставление всей необходимой информации. В настоящее время, в «эпоху компьютеров», стремительно развиваются компьютерные технологии. Это обусловлено тем, что применение компьютерам можно найти в любой отрасли промышленности и в любой отрасли человеческой деятельности, а это сейчас доступно как никогда, тем самым повышая спроса на качественную и удобную информацию. За многие годы работы разные учреждения и предприятия накопили большие объемы информации, которая продолжает увеличиваться, возникает необходимость в ее систематизации и обработке. Работать с огромной кучей бумажной информацией очень долго и трудоемко. Выход можно найти в создании электронной базы данных.Это значительно облегчило работу различных информационных служб. В современном мире всевозможных данных, сведений не просто много, а гигантское количество. Зачастую получая информацию из различных источников, сотрудники предприятия наблюдали дублирование данных. Это никого не радовало. Перед создателями личной картотеки вставал вопрос: как разместить информацию так, чтобы минимально использовать физическое дисковое пространство, оперативную память и при этом обеспечить оперативный доступ к данным.
Компьютеры проникли в большинство предприятий, учебных заведений, исследовательских институтов, промышленных центров. Это облегчило обработку огромного количества информации, поиска данных. Большая помощь оказана отделу кадров. Теперь совсем не трудно делать быстро и качественно различные выборки, запросы по личному составу работников института, по успеваемости студентов института и т.д.
1 ПОСТАНОВКА ЗАДАЧИ
1.1 Общая постановка задачи
Целью написания данного ПП является проектирование базы данных, которая будет содержать подробную информацию о функционировании ботанического сада, предоставлять подробную информацию о растениях, сотрудниках, работающих там.В целом, база данных «Функционирование ботанического сада» должна:
1) обеспечивать возможность запрашивать, отыскивать, изменять и систематизировать информацию в БД;
2) иметь удобный пользовательский интерфейс для работы с базой данных пользователя, не являющегося специалистом в области обработки данных;
3) содержать систему помощи, необходимую справочную информацию и информацию о программе;
4) содержать необходимые запросы и формы для обработки хранимой информации;
5) обеспечивать защиту от несанкционированного доступа (использовать пароли и защиту на уровне пользователей);
6) контролировать избыточность (предусматривать архивацию данных), непротиворечивость, сохранность и достоверность хранимой в БД информации.
7) содержать необходимую информацию и предоставлять ее по требованию.
1.2 Основные составные компоненты проектируемой БД
Для реализации поставленной задачи в проектируемую БД необходимо включить следующие разделы:
1) информация о выращиваемых растениях;
2) информация о сотрудниках;
3) информация о участках.
2 ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ
Для функционирования ботанического сада необходимо знать информацию о выращиваемых растениях, работающих сотрудниках и участках.
Ботанический сад содержит несколько участков. У каждого участка есть свое название. На каждом участке выращивается определенный набор растений и работает персонал. Каждый пользователь может просмотреть список сотрудников и растений по каждому участку.
О растениях необходимо знать на каком участке оно произрастает, его тип, семейство, его название и дату посадки. Типы и семейства растений выбираются из уже существующего справочника.
Для полноценного функционирования и контроля над ботаническим садом нужно знать ФИО каждого сотрудника, его должность, стаж работы, дату рождения, должность и участок, на котором он работает. Все это нужно для контроля над растениями на каждом участке.
Предметная область разработанного проекта представляет собой набор систематизированных сведений необходимых для автоматизации функционирования ботанического сада.
3 ОПИСАНИЕ СХЕМЫ ОБЪЕКТ-ОТНОШЕНИЕ
Исходя из моей предметной области, я выделила следующие объекты: «Растения», «Сотрудники», «Участки», «Должности», «Ученые звания», «Типы растений», «Семейства». Каждый объект имеет некоторые свойства. Объект «Растения» имеет свойство: «название», «тип», «семейство»; объект «Сотрудники» имеет свойства: «ФИО», «дата рождения», «должность», «стаж работы», «ученое звание»; У объекта «Участки» есть свойства: «номер», «название»; У объекта «Должности» свойство: «название»; Объект «Ученые звания» имеет свойство: «название»; Объект «Типы растений» имеет свойство «название»; объект «Семейства» имеет свойство «название».
Выделим необходимые отношения между объектами исходя из схемы объект-отношение, представленной на рисунке 3.1:
1. СОТРУДНИК имеет ДОЛЖНОСТЬ;
2. СОТРУДНИК имеет УЧЕНОЕ ЗВАНИЕ;
3. РАСТЕНИЕ имеет ТИП;
4. РАСТЕНИЕ имеет СЕМЕЙСТВО.
5. СОТРУДНИК выращивает РАСТЕНИЕ на УЧАСТКЕ
Объект «Должности» относится к объекту «Сотрудники» как 1/∞ т.к. одну должность может иметь несколько сотрудников, а один сотрудник может иметь только одну должность. Объект «Ученые звания» относится к объекту «Сотрудники» как 1/∞ т.к. одно ученое звание может иметь несколько сотрудников, а один сотрудник может иметь только одно ученое звание. Объект «Типы растений» относится к объекту «Растения» как 1/∞ т.к. одного типа может быть несколько растений, а одно растение может быть только одного типа. Объект «Семейства» относится к объекту «Растения» как 1/∞ т.к. одного семейства может быть несколько растений, а одно растение может быть только одного семейства. Объект «Сотрудники» и таблица «Растения» относятся к объекту «Выращивается» как 1/∞ т.к. один сотрудник может выращивать несколько растений и одно растение может выращиваться несколькими сотрудниками одновременно.
SHAPE \* MERGEFORMAT
Участок |
Сотрудник |
Растение |
Выращивается |
Имеет т |
Должность |
Тип |
Имеет т |
Имеет т |
Имеет т |
Растение |
Ученое звание |
название |
название |
название |
название |
Дата посадки |
Рисунок 3.1 – Схема объект-отношение
4 ВЫБОР И ОБОСНОВАНИЕ МОДЕЛИ ДАННЫХ
Большое количество разработанных к настоящему времени разнообразных СУБД связано с существованием различных моделей данных. При проектировании БД мы сталкиваемся с задачей выбора наиболее подходящей модели данных для конкретной предметной области.Из приведенной схемы (рисунок 3.1) видно, что между объектами существуют связи имеющие тип как «один ко многим», так и «один к одному». Это позволяет осуществить проектирование БД с использованием как реляционной, так и сетевой модели данных. Предпочтение было отдано реляционной модели данных.
БД может быть основана на одной модели или на совокупности нескольких моделей. Любую модель данных можно рассматривать как объект, который характеризуется своими свойствами (параметрами), и над ней, как над объектом, можно производить какие-либо действия.
Любая модель должна обеспечивать такие операции над БД:
- поиск указанного элемента базы;
- переход от одних данных к другим;
- движение по записям;
- поиск записи;
- удаление записи;
Существуют три основных типа моделей данных – реляционная, иерархическая и сетевая.
4.1 Иерархическая модель данных
В иерархической модели связи между данными описывают с помощью упорядоченного графа (или дерева). Тип является составным. Он включает в себя подтипы («поддеревья»), каждый из которых, в свою очередь, является типом «дерево». Каждый из элементарных типов, включенных в тип «дерево», является простым или составным типом «запись».Таким образом, ИМД представляет собой упорядоченную совокупность экземпляров типа «дерево» (деревьев), содержащих экземпляры типа «запись» (записи).
В соответствии с определением типа «дерево», можно заключить, что между предками и потомками автоматически поддерживается контроль целостности связей. Основное правило контроля целостности формулируется следующим образом: потомок не может существовать без родителя, а некоторых родителей может не быть потомков. Механизмы поддержки целостности связей между записями различных деревьев отсутствуют.
Данные в базе с приведенной схемой для разрабатываемого ПП могут выглядеть, например, как показано на рисунке 4.1.
ПРЕДПРИЯТИЕ |
ГОРОД |
ТИП |
ИЗДЕЛИЕ |
ЦЕХ |
Рисунок 4.1 – Пример иерархической модели данных для проектируемой БД
Корневыми являются сразу два типа Тип и Город, которые в свою очередь имеют свои подчиненные типы. Тип, как и Город имеет подчиненный тип Предприятие, тогда как Предприятие имеет подчиненный тип Цех. Тип Цех, в свою очередь имеет подчиненный тип Изделие. К достоинствам ИМД относят эффективное использование памяти ЭВМ и неплохие показатели времени выполнения основных операций над данными. А именно: поиск указанного экземпляра БД, переход от одного дерева к другому, переход от одной записи к другой внутри дерева, вставка новой записи в указанную позицию, удаление текущей записи. ИМД удобна для работы с иерархически упорядоченной информацией. Недостатком ИМД является ее громоздкость для обработки информации с достаточно сложными логическими связями, а также сложность понимания для обычного пользователя.
4.2 Сетевая модель данных
Сетевая модель позволяет отображать разнообразные взаимосвязи элементов данных в виде произвольного графа, обобщая тем самым ИМД.СМД состоит из набора записей и набора соответствующих связей. В отличие от ИМД в СМД запись-потомок может иметь произвольное число записей-предков (сводных родителей).
Схема СМД для данной БД показана на рисунке 4.2. Типы связей здесь обозначены надписями на соединяющих типы записей линиях.
Факультет |
Выпускает |
Выпускается |
Изделие |
Выпускается |
Выпускает |
Выпуск |
Цех |
имеет |
Расположен на |
Относится к |
Тип |
Имеет |
Предприятие |
Находится в |
Город |
располагает |
Рисунок 4.2 - Сетевая модель данных
Анализируя схему, видим, что все элементы связаны друг с другом. Любой элемент может быть выражен через другие элементы. С одной стороны это хорошо, но с другой плохо: на формирование типов связи не накладываются особые ограничения, что приводит при выполнении основных операций над данными к негативным для проектируемой БД ситуациям. Например, в дополнительной таблице появятся записи, которые не имеют родительских записей в основной таблице.
Поэтому недостатком СМД является высокая сложность и жесткость схемы БД, построенной на ее основе, а также сложность для понимания и выполнения обработки информации в БД обычным пользователем. Кроме того, в СМД ослаблен контроль целостности связей вследствие допустимости установления произвольных связей между записями. Таким образом, для разработанной в пункте 3 схемы объект-отношение данную модель данных применять нежелательно.
Достоинством СМД является возможность эффективной реализации по показателям затрат памяти и оперативности. В сравнении с ИМД сетевая модель предоставляет большие возможности в смысле допустимости образования произвольных связей.
4.3 Реляционная модель данных
Реляционная модель данных некоторой предметной области представляет собой набор отношений (двумерных таблиц), изменяющихся во времени.В общем случае можно считать, что реляционная БД включает одну или несколько таблиц, объединенных смысловым содержанием, а также процедурами контроля целостности и обработки информации в интересах решения некоторой прикладной задачи. Например, при использовании СУБД Microsoft Access в файле БД наряду с таблицами хранятся и другие объекты базы: запросы, отчеты, формы, макросы и модули.
Достоинство РМД заключается в простоте, понятности и удобстве физической реализации на ЭВМ. С помощью одной таблицы удобно описывать простейший вид связей между данными, а именно деление одного объекта, информация о котором храниться в таблице, на множество подобъектов, каждому из которых соответствует строка или запись таблицы. Физическое размещение данных в реляционных базах на внешних носителях легко осуществляется с помощью обычных файлов. Проблемы же эффективности обработки данных этого типа оказались технически вполне разрешимыми.
Основными недостатками реляционной модели являются следующие: отсутствие стандартных средств идентификации отдельных записей и сложность описания иерархических и сетевых связей.
Переход от схемы объект – отношение к реляционной модели данных осуществляется следующим образом: все объекты схемы объект – отношение это определенные таблицы название полей которых являются свойствами объектов, если отношение имеет свойства то оно также является таблицей в полученной реляционной модели данных
Для проектируемой базы данных реляционная модель представлена на рисунке 4.3.
Рисунок 4.3 - Реляционная модель данных
Таким образом, после рассмотрения приведенных выше моделей данных для разработанной в пункте 3 схемы объект-отношение была выбрана РМД, которая проста и понятна для пользователя и отвечает требованиям изучаемого курса.
5 ОБОСНОВАНИЕ ВЫБОРА СУБД
Основы современной информационной технологии составляют базы данных (БД – это структурированная определенным образом совокупность данных, относящихся к конкретной задаче ) и системы управления базами данных (СУБД представляет собой комплекс инструментальных средств, программных и языковых, реализующих централизованное управление БД и обеспечивающих доступ к данным (изменения, добавления, удаления, резервного копирования и т.д. ), роль которых как единого средства хранения, обработки и доступа к большим объемам информации постоянно возрастает. Быстрое развитие потребностей применений БД выдвигает новые требования к СУБД: естественные и эффективные представления в БД разнообразных отношений между объектами предметных областей (например, пространственно-временных с обеспечением визуализации данных); СУБД должна обеспечивать поиск, модификацию и сохранность данных, а также оперативный доступ (время отклика), защиту целостности данных от аппаратных сбоев и программных ошибок, разграничение прав и защита от несанкционированного доступа, поддержка совместной работы нескольких пользователей с данными.
Этим требованиям отвечают многие современные СУБД, в том числе и Access. МА включает в себя традиционные технологии и возможности реляционных СУБД, предоставляет средства создания базы нормализованных данных и форм для диалоговой работы с ней и удобным графическим интерфейсом. С построением базы нормализованных данных тесно связана разработка и эффективная реализация задач пользователя. Для рения многих задач достаточно использовать такие объекты Access, как формы, запросы ,отчеты. Эти объекты легко создаются в диалоговом режиме. Для реализации целостного приложения пользователя в некоторой предметной области возникает необходимость в создании макросов и модуле на языке Visual Basic for Applications (VBA). Механизм обработки событий, возникающих в процессе диалоговой работы с данными, позволяет объединять в приложении пользователя отдельные запросы, формы и отчеты и получать нестандартные рения в практических приложениях пользователя.
Программа Microsoft Access 2000 является реляционной СУБД, которая может функционировать под управлением операционных систем Windows 95/98/Me, Windows NT, Windows XP, и позволяет реализовать поставленную цель. Обеспечивает удобство работы пользователя: имеется возможность создания пользовательских интерфейсов при использовании Visual Basic для приложений, автоматизация разработки различных объектов. Для построения и выполнения запросной функции в Access 2000 очень удобным и доступным является язык запросов по образцу QBE, поддерживаемый мощным интерфейсом пользователя, а также встроенный язык запросов SQL, который является удобным языком управления базами данных.
Программа Microsoft Access 2000 имеет небольшой объем вспомогательного программного обеспечения, вследствие чего предъявляет меньше требований к памяти, чем программы Microsoft Access поздних версий. Кроме того, для проектирования требуемой БД нет необходимости в использовании возможностей более поздних программ Office или других фирм производителей. Вполне достаточно средств, предоставляемых пользователю Microsoft Access 2000.
6 ОПИСАНИЕ КОНЦЕПИУАЛЬНОЙ МОДЕЛИ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ
6.1 Схема Данных
Схема данных, отражает логическое представление реляционной модели данных для проектируемой БД.
Построить иную концептуальную модель для данной БД таким образом, чтобы она отвечала специфике предметной области и в информационном плане сохраняла все возможности приведенной выше модели без добавления новых объектов, практически невозможно.
Нормализация – это разбиение таблицы на две или более, обладающих лучшими свойствами при включении, изменении и удалении данных. Окончательная цель нормализации сводится к получению такого проекта базы данных, в котором каждый факт появляется лишь в одном месте, т.е. исключена избыточность информации. Это делается не столько с целью экономии памяти, сколько для исключения возможной противоречивости хранимых данных.
Таблица находится в первой нормальной форме (1НФ) тогда и только тогда, когда ни одна из ее строк не содержит в любом своем поле более одного значения и ни одно из ее ключевых полей не пуст.
Таблица находится во второй нормальной форме (2НФ), если она удовлетворяет определению 1НФ и все ее поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом.
Таблица находится в третьей нормальной форме (3НФ), если она удовлетворяет определению 2НФ и не одно из ее не ключевых полей не зависит функционально от любого другого не ключевого поля.
Рисунок 6.2 – Таблица данных в 1НФ
Назв. предприятия С 80 | Дата открытия предприятия D10 | Назв. Города C20 | Назв. Типа предпр C30 | Назв. Цеха C15 | Кол-во рабочих N4 | Дата ввода в строй D8 | Дата посл реконструкции D8 | Месяц С8 | Кол-во изделий N6 | Цена N5 | Назв. Изделия C20 |
Название города |
Название типа |
|
| ||||||||||||
| |||||||||||||
|
| ||||||||||||
| |||||||||||||
|
| ||||||||||||
| |||||||||||||
| |||||||||||||
6.2 Описание и обоснование полей таблиц
В проектируемой базе данных реализовано шесть таблиц. Ниже для каждой таблицы приведены описание, обоснование полей, ограничения на входную информацию, необходимые маски ввода, используемые подстановки. Все примеры заполненных таблиц приведены в приложении В.
Таблица «Предприятие» (таблица 6.2.1):
1. Код предприятия
-Ключ: первичный ключ;
-Счетчик;
-Длинное целое;
-Размер: 3;
-Совпадение не допускаются, так как это первичный ключ, он считает записи в таблице.
2. Название предприятия
- Текстовое;
- Размер 80;
- Обязательное поле, так как название предприятия – это главная особенность, по которой можно различать предприятия;
- Пустых строк нет, так как не может быть предприятие без названия;
- Совпадения не допускаются, так как у двух разных предприятий не должно быть одинаковых названий;
3. Дата открытия предприятия
- Тип дата;
- Размер 10;
- Обязательное поле, так как у каждого предприятия есть дата открытия;
-Совпадения допускаются, так как разные предприятия могут быть открыты в один и тот же день;
-Маска: 00.00.0000;
-Значение по умолчанию =Date();
-Условие на значения <=Date(), так как предприятие не может открыться позже, чем в день рассмотрения его деятельности.
4. Город
-Тип длинное целое;
-Размер 2;
-Обязательное поле, так как каждое предприятие находится в каком-либо городе;
-Совпадения допускаются, так как разные предприятия могут находиться в одном городе;
-Подстановка: из таблицы «Город», поле «Название города»;
-Внешний ключ.
5. Тип
-Тип длинное целое;
-Размер 2;
-Обязательное поле, так как у каждого предприятия есть свой тип;
-Совпадения допускаются, так как разные предприятия могут иметь один и тот же тип;
-Подстановка: из таблицы «Тип», поле «Название типа»;
-Внешний ключ.
Таблица 6.2.1 «Предприятие»
Предприятие | ||||
#Код предприятия | Название предприятия | Дата открытия | Город | Тип |
1 | Шахтуглесервис | 25.06.1956 | Шахтерск | Частное |
2 | Азовмаш | 24.05.1985 | Мариуполь | ООО |
3 | Азовсталь | 13.02.1991 | Краматорск | Государственное |
4 | ДМЗ | 12.03.1985 | Донецк | ОАО |
1. Код города
-Ключ: первичный ключ;
-Счетчик;
-Длинное целое;
-Размер: 3;
-Совпадение не допускаются, так как это первичный ключ, он считает записи в таблице.
2. Название города
- Текстовое;
- Размер 20;
- Обязательное поле, так как город не может быть без названия;
- Пустых строк нет, так как город не может иметь пустое название;
- Совпадения не допускаются, так как разные города не могут иметь одно и то же название.
Таблица 6.2.2 «Город»
Город | |
#Код города | Название города |
1 | Донецк |
2 | Шахтерск |
3 | Мариуполь |
4 | Краматорск |
1. Код типа
-Ключ: первичный ключ;
-Счетчик;
-Длинное целое;
-Размер: 3;
-Совпадение не допускаются, так как это первичный ключ, он считает записи в таблице.
2. Название типа
- Текстовое;
- Размер 30;
- Обязательное поле, так как тип не может быть без названия;
- Пустых строк нет, так как тип не может иметь пустое название;
- Совпадения не допускаются, так как разные типы не могут иметь одно и то же название.
Таблица 6.2.3 «Тип»
Тип | |
#Код типа | Название типа |
1 | Государственное |
2 | Частное |
3 | ООО |
4 | ОАО |
1. Код города
-Ключ: первичный ключ;
-Счетчик;
-Длинное целое;
-Размер: 3;
-Совпадение не допускаются, так как это первичный ключ, он считает записи в таблице.
2. Название изделия
- Текстовое;
- Размер 20;
- Обязательное поле, так как изделия не может быть без названия;
- Пустых строк нет, так как тип не может иметь пустое название;
- Совпадения не допускаются, так как разные изделия не могут иметь одно и то же название.
Таблица 6.2.4 «Изделие»
Таблица «Цех» (таблица 6.2.5):
1. Код цеха
-Ключ: первичный ключ;
-Счетчик;
-Длинное целое;
-Размер: 3;
-Совпадение не допускаются, так как это первичный ключ, он считает записи в таблице.
2. Название цеха
- Текстовое;
- Размер 15;
- Обязательное поле, так как изделия не может быть без названия;
- Пустых строк нет, так как цех не может иметь пустое название;
- Совпадения допускаются, так как разные цеха не могут иметь одно и то же название.
3. Количество рабочих
-Тип длинное целое;
-Размер 4;
-Совпадения допускаются, так как разные цеха могут иметь одинаковое число количества рабочих;
- Пустых строк нет, так как любой цех содержит рабочих;
-Условие на значение >0, так как на цеху не может быть ни одного рабочего.
4. Дата ввода в строй
-Тип дата
- Размер 10
- Обязательное поле, так как каждый цех имеет дату открытия;
-Совпадения допускаются, так как разные цеха могут в один день войти в строй;
- Маска: 00.00.0000;
-Значение по умолчанию =Date();
- Условие на значения <=Date()and<(дата последней реконструкции), так как цех не может быть введен в строй позже, чем была его реконструкция.
5. Дата последней реконструкции
-Тип дата;
- Размер 10;
- Не обязательное поле, так как цех мог еще не подлежать реконструкции;
-Совпадения допускаются, так как даты реконструкции разных цехов могут быть одинаковыми;
- Маска: 00.00.0000;
- Значение по умолчанию =Date()
- Условие на значения <=Date()and>(дата ввода в строй), так как цех не может быть отреконструирован раньше, чем он был введен в строй.
6. Предприятие
-Тип длинное целое;
-Размер 2;
-Обязательное поле, так как любой цех находится на каком-либо предприятии;
-Совпадения допускаются, так как несколько цехов могут быть на одном предприятии;
-Подстановка: из таблицы «Предприятие», поле «Название предприятия»;
-Внешний ключ.
Таблица 6.2.5 «Цех»
Таблица «Выпуск» (таблица 6.2.6):
1. Месяц
-Текстовое;
- Размер 8;
- Обязательное поле, так как все изделия выпускаются в каком-то месяце;
- Совпадения допускаются, так как изделия могли быть выпущены в один и тот же месяц.
2. Количество изделий
-Тип длинное целое;
-Размер 4;
-Совпадения допускаются, так как могло быть выпущено одинаковое количество изделий;
-Пустых строк нет, так как в любом случае было выпущено какое-либо количество изделий.
3. Цена изделия
-Тип длинное целое;
-Размер 5;
-Совпадения допускаются, так как цена может быть одинаковой у разных изделий;
-Пустых строк нет, у всех изделий есть своя цена.
4. Цех
-Тип длинное целое;
-Размер 2;
-Обязательное поле, так как любое изделие выпускается на каком-то цеху;
-Совпадения допускаются, так как разные изделия выпускаются на одном цеху;
-Подстановка: из таблицы «Цех», поле «Название цеха»
-Внешний ключ.
5. Изделие
-Тип длинное целое;
-Размер 2;
-Обязательное поле, так как обязательно выпускается како-то изделие;
-Совпадения допускаются, так как может выпускаться одно и то же изделие;
-Подстановка: из таблицы «Изделие», поле «Название изделия»;
-Внешний ключ.
Таблица 6.2.6
Приложение Б
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
Б.1 Общие сведения
Разработанная БД предназначена для предоставления пользователю всей необходимой информации для автоматизации производительной деятельности промышленного предприятия.
Данная БД имеет удобный графический интерфейс. При запуске программы, появляется главное меню, содержащее все пункты, необходимые для работы с приложением (см. Приложение Д рис. Д.1). При необходимости добавить, просмотреть или изменить информацию нужно выбрать помощью клавиш управления курсором или <Tab> необходимую кнопку с названием формы, и нажать <Enter> или открыть форму кликом мыши.
Для запуска программы требуется запустить файл «Course.mdb» в СУБД MS Access.
Б.2 Ввод, удаление, добавление и редактирование данных
Ввод данных осуществляется в формах с помощью клавиатуры. Для ввода данных необходимо выделить указателем мыши необходимое поле или перейти на него с помощью клавиш управления курсором или <Tab>, и ввести данные. Аналогичным образом осуществляется редактирование данных.
Добавление данных осуществляется в формах так же, как и во всех БД.
На удаление записей пользователи «Guest» не имеют права. Удалять записи из таблиц или форм могут только пользователи «Adminstrator» и «User», используя соответствующие клавиши в формах.
Б.3 Просмотр отчетов
Для просмотра отчетов необходимо вызвать пункт меню Главное меню->открыть отчет. Либо пункт меню Главное меню->открыть форму->отчеты.
Б.4 Использование справочной информации и выход из программы
Справочная информация в БД. В целом для осуществления необходимых действий требуется читать надписи на кнопках или рядом с ними и нажимать на эти кнопки.
Выход из приложения MS Access осуществляется при выборе пункта меню Главное меню->Выход.
Приложение В
ЛИСТИНГИ ПРОГРАММНЫХ МОДУЛЕЙ
1. Модуль: контроль над вводом данных.
Option Compare Database
Sub c()
Dim t As Integer
DoCmd.OpenForm "Предприятие1", acNormal
DoCmd.OpenForm "Цех1", acNormal
If [Forms]![Предприятие1]![дата открытия] < [Forms]![Цех1]![дата ввода в строй] Then
t = MsgBox("Данные введены, верно", vbOKOnly, " Сообщение")
Else: t = MsgBox("Сообщение: цех был введен в строй, до открытия предприятия", vbOKOnly, " Сообщение")
End If
End Sub
2. Модуль: группы пользователей.
Private Sub Form_Open(Cancel As Integer)
myvalue = InputBox("Если вы администратор либо пользователь, введите свой пароль, если гость – нажмите ОК")
If myvalue = "" Then
Кнопка 13.Visible = False
Кнопка 15.Visible = False
Кнопка 23.Visible = False
Кнопка 16.Visible = False
Кнопка 45.Visible = False
Кнопка 48.Visible = False
Кнопка 49.Visible = False
Кнопка 50.Visible = False
Кнопка 51.Visible = False
Кнопка 52.Visible = False
Кнопка 53.Visible = False
Else
If myvalue = "I am admin" Then
Кнопка 16.Visible = True
Кнопка 23.Visible = True
Кнопка 15.Visible = True
Кнопка 13.Visible = True
Кнопка 33.Visible = True
Кнопка 8.Visible = True
Кнопка 38.Visible = True
Else
If myvalue = "User" Then
Кнопка 48.Visible = False
Кнопка 49.Visible = False
Кнопка 50.Visible = False
Кнопка 51.Visible = False
Кнопка 52.Visible = False
Кнопка 53.Visible = False
Else: MsgBox ("введите правильный пароль!!!")
DoCmd.Close acForm, "Главная"
End If
End If
End If
End Sub
3. Модуль: добавление в форму.
Option Compare Database
Sub Verifying() 'Процедура добавления элемента в список
Dim str, tmp1, tmp2 As String
Dim c, i, t, f As Integer
Dim rst As DAO.Recordset
Dim flag As Boolean
str = ""
Do While str = ""
str = InputBox("Введите название", "Ввод данных") 'Вводим новый элемент
If str = "" Then 'Предотвращение пустой строки
t = MsgBox("Строка не может быть пустой", vbInformation, "Инфо")
End If
Loop
DoCmd.OpenForm "Предприятие1", acNormal 'Открываем форму
DoCmd.GoToRecord acDataForm, "Предприятие1", acNewRec
Set rst = Forms("Предприятие1").Recordset
flag = False
rst.MoveFirst
While Not rst.EOF
If rst![Название предприятия] = str Then
flag = True
GoTo m001:
End If
rst.MoveNext
Wend
m001:
If flag Then
t = MsgBox("Такой элемент в списке уже есть. Добавление невозможно.", vbCritical)
Else
t = MsgBox("Вы действительно желаете добавить новый элемент списка?", vbQuestion + vbYesNo, "Вы уверены?")
If t = 6 Then
rst.AddNew
rst![Название предприятия] = str
rst.Update
z = MsgBox("Добавленно новое название: " & str, vbInformation)
ElseIf t = 7 Then 'отказ от добавления
t = MsgBox("Прервано пользователем!", vbOKOnly + vbCritical, "Error")
End If
End If
DoCmd.OpenForm "Предприятие1", acNormal 'Открываем форму
End Sub
Таблица 6.2.4 «Изделие»
Изделие | |
#Код изделия | Название изделия |
1 | Шайбы |
2 | Чайники |
3 | Болты |
4 | Бочки |
5 | Двигатели |
6 | Сковородки |
7 | Столы |
8 | Кровати |
9 | Компьютеры |
1. Код цеха
-Ключ: первичный ключ;
-Счетчик;
-Длинное целое;
-Размер: 3;
-Совпадение не допускаются, так как это первичный ключ, он считает записи в таблице.
2. Название цеха
- Текстовое;
- Размер 15;
- Обязательное поле, так как изделия не может быть без названия;
- Пустых строк нет, так как цех не может иметь пустое название;
- Совпадения допускаются, так как разные цеха не могут иметь одно и то же название.
3. Количество рабочих
-Тип длинное целое;
-Размер 4;
-Совпадения допускаются, так как разные цеха могут иметь одинаковое число количества рабочих;
- Пустых строк нет, так как любой цех содержит рабочих;
-Условие на значение >0, так как на цеху не может быть ни одного рабочего.
4. Дата ввода в строй
-Тип дата
- Размер 10
- Обязательное поле, так как каждый цех имеет дату открытия;
-Совпадения допускаются, так как разные цеха могут в один день войти в строй;
- Маска: 00.00.0000;
-Значение по умолчанию =Date();
- Условие на значения <=Date()and<(дата последней реконструкции), так как цех не может быть введен в строй позже, чем была его реконструкция.
5. Дата последней реконструкции
-Тип дата;
- Размер 10;
- Не обязательное поле, так как цех мог еще не подлежать реконструкции;
-Совпадения допускаются, так как даты реконструкции разных цехов могут быть одинаковыми;
- Маска: 00.00.0000;
- Значение по умолчанию =Date()
- Условие на значения <=Date()and>(дата ввода в строй), так как цех не может быть отреконструирован раньше, чем он был введен в строй.
6. Предприятие
-Тип длинное целое;
-Размер 2;
-Обязательное поле, так как любой цех находится на каком-либо предприятии;
-Совпадения допускаются, так как несколько цехов могут быть на одном предприятии;
-Подстановка: из таблицы «Предприятие», поле «Название предприятия»;
-Внешний ключ.
Таблица 6.2.5 «Цех»
Цех | |||||
#Код цеха | Название цеха | Количество рабочих | Дата ввода в строй | Дата последней реконструкции | Предприятие |
1 | Любительский | 146 | 19.05.1999 | 26.03.2000 | Азовсталь |
7 | Конечный | 106 | 21.07.1998 | 29.03.2004 | Азовсталь |
11 | Любительский | 60 | 31.05.1996 | 16.04.2001 | Азовмаш |
13 | Промежуточный | 34 | 05.10.1995 | 06.08.1998 | ДМЗ |
15 | Промежуточный | 140 | 01.02.1986 | 12.07.1996 | Азовмаш |
24 | Древний | 25 | 03.12.1957 | 25.05.1959 | Шахтуглесервис |
25 | Любительский | 326 | 18.12.1989 | 26.04.1995 | ДМЗ |
34 | Конечный | 86 | 29.05.1973 | 16.11.2001 | Шахтуглесервис |
1. Месяц
-Текстовое;
- Размер 8;
- Обязательное поле, так как все изделия выпускаются в каком-то месяце;
- Совпадения допускаются, так как изделия могли быть выпущены в один и тот же месяц.
2. Количество изделий
-Тип длинное целое;
-Размер 4;
-Совпадения допускаются, так как могло быть выпущено одинаковое количество изделий;
-Пустых строк нет, так как в любом случае было выпущено какое-либо количество изделий.
3. Цена изделия
-Тип длинное целое;
-Размер 5;
-Совпадения допускаются, так как цена может быть одинаковой у разных изделий;
-Пустых строк нет, у всех изделий есть своя цена.
4. Цех
-Тип длинное целое;
-Размер 2;
-Обязательное поле, так как любое изделие выпускается на каком-то цеху;
-Совпадения допускаются, так как разные изделия выпускаются на одном цеху;
-Подстановка: из таблицы «Цех», поле «Название цеха»
-Внешний ключ.
5. Изделие
-Тип длинное целое;
-Размер 2;
-Обязательное поле, так как обязательно выпускается како-то изделие;
-Совпадения допускаются, так как может выпускаться одно и то же изделие;
-Подстановка: из таблицы «Изделие», поле «Название изделия»;
-Внешний ключ.
Таблица 6.2.6
Выпускает | |||||
Месяц | Количество изделий | Цена изделия | Цех | Изделие | Код Выпуска |
Январь | 2568 | 107 | Любительский | Бочки | 2 |
Февраль | 78 | 34 | Любительский | Чайники | 7 |
Март | 1000 | 100 | Любительский | Болты | 9 |
Апрель | 200 | 101 | Любительский | Чайники | 12 |
Май | 567 | 754 | Любительский | Бочки | 13 |
Июнь | 155 | 24 | Любительский | Бочки | 24 |
Июль | 4535 | 788 | Любительский | Двигатели | 29 |
Август | 636 | 235 | Любительский | Бочки | 30 |
Сентябрь | 42 | 520 | Любительский | Шайбы | 31 |
Октябрь | 453 | 445 | Любительский | Кровати | 32 |
Январь | 535 | 53 | Конечный | Шайбы | 33 |
Февраль | 539 | 278 | Конечный | Чайники | 34 |
Март | 455 | 876 | Конечный | Болты | 35 |
Апрель | 41 | 7786 | Конечный | Кровати | 36 |
Октябрь | 572 | 963 | Конечный | Столы | 37 |
Ноябрь | 754 | 912 | Конечный | Сковородки | 38 |
Декабрь | 476 | 724 | Конечный | Двигатели | 39 |
Январь | 336 | 26 | Промежуточный | Двигатели | 40 |
Февраль | 561 | 54 | Промежуточный | Бочки | 41 |
Сентябрь | 513 | 35 | Промежуточный | Болты | 42 |
Август | 45 | 96 | Промежуточный | Двигатели | 44 |
Март | 4 | 5468 | Промежуточный | Сковородки | 45 |
Апрель | 8462 | 33 | Древний | Столы | 46 |
Сентябрь | 545 | 56543 | Древний | Болты | 47 |
Ноябрь | 654 | 377 | Любительский | Компьютеры | 48 |
Декабрь | 8974 | 850 | Любительский | Двигатели | 49 |
Май | 6463 | 55 | Конечный | Компьютеры | 50 |
Июнь | 543 | 12 | Конечный | Шайбы | 51 |
Июль | 894 | 4856 | Конечный | Чайники | 52 |
Август | 5641 | 861 | Конечный | Болты | 53 |
Сентябрь | 563 | 48 | Конечный | Столы | 54 |
Апрель | 521 | 265 | Промежуточный | Компьютеры | 55 |
Май | 23 | 2645 | Промежуточный | Сковородки | 56 |
Июнь | 452 | 52 | Промежуточный | Чайники | 57 |
Июль | 553 | 83 | Промежуточный | Компьютеры | 58 |
Декабрь | 441 | 333 | Промежуточный | Кровати | 59 |
Ноябрь | 478 | 599 | Промежуточный | Бочки | 60 |
Приложение Б
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
Б.1 Общие сведения
Разработанная БД предназначена для предоставления пользователю всей необходимой информации для автоматизации производительной деятельности промышленного предприятия.
Данная БД имеет удобный графический интерфейс. При запуске программы, появляется главное меню, содержащее все пункты, необходимые для работы с приложением (см. Приложение Д рис. Д.1). При необходимости добавить, просмотреть или изменить информацию нужно выбрать помощью клавиш управления курсором или <Tab> необходимую кнопку с названием формы, и нажать <Enter> или открыть форму кликом мыши.
Для запуска программы требуется запустить файл «Course.mdb» в СУБД MS Access.
Б.2 Ввод, удаление, добавление и редактирование данных
Ввод данных осуществляется в формах с помощью клавиатуры. Для ввода данных необходимо выделить указателем мыши необходимое поле или перейти на него с помощью клавиш управления курсором или <Tab>, и ввести данные. Аналогичным образом осуществляется редактирование данных.
Добавление данных осуществляется в формах так же, как и во всех БД.
На удаление записей пользователи «Guest» не имеют права. Удалять записи из таблиц или форм могут только пользователи «Adminstrator» и «User», используя соответствующие клавиши в формах.
Б.3 Просмотр отчетов
Для просмотра отчетов необходимо вызвать пункт меню Главное меню->открыть отчет. Либо пункт меню Главное меню->открыть форму->отчеты.
Б.4 Использование справочной информации и выход из программы
Справочная информация в БД. В целом для осуществления необходимых действий требуется читать надписи на кнопках или рядом с ними и нажимать на эти кнопки.
Выход из приложения MS Access осуществляется при выборе пункта меню Главное меню->Выход.
Приложение В
ЛИСТИНГИ ПРОГРАММНЫХ МОДУЛЕЙ
1. Модуль: контроль над вводом данных.
Option Compare Database
Sub c()
Dim t As Integer
DoCmd.OpenForm "Предприятие1", acNormal
DoCmd.OpenForm "Цех1", acNormal
If [Forms]![Предприятие1]![дата открытия] < [Forms]![Цех1]![дата ввода в строй] Then
t = MsgBox("Данные введены, верно", vbOKOnly, " Сообщение")
Else: t = MsgBox("Сообщение: цех был введен в строй, до открытия предприятия", vbOKOnly, " Сообщение")
End If
End Sub
2. Модуль: группы пользователей.
Private Sub Form_Open(Cancel As Integer)
myvalue = InputBox("Если вы администратор либо пользователь, введите свой пароль, если гость – нажмите ОК")
If myvalue = "" Then
Кнопка 13.Visible = False
Кнопка 15.Visible = False
Кнопка 23.Visible = False
Кнопка 16.Visible = False
Кнопка 45.Visible = False
Кнопка 48.Visible = False
Кнопка 49.Visible = False
Кнопка 50.Visible = False
Кнопка 51.Visible = False
Кнопка 52.Visible = False
Кнопка 53.Visible = False
Else
If myvalue = "I am admin" Then
Кнопка 16.Visible = True
Кнопка 23.Visible = True
Кнопка 15.Visible = True
Кнопка 13.Visible = True
Кнопка 33.Visible = True
Кнопка 8.Visible = True
Кнопка 38.Visible = True
Else
If myvalue = "User" Then
Кнопка 48.Visible = False
Кнопка 49.Visible = False
Кнопка 50.Visible = False
Кнопка 51.Visible = False
Кнопка 52.Visible = False
Кнопка 53.Visible = False
Else: MsgBox ("введите правильный пароль!!!")
DoCmd.Close acForm, "Главная"
End If
End If
End If
End Sub
3. Модуль: добавление в форму.
Option Compare Database
Sub Verifying() 'Процедура добавления элемента в список
Dim str, tmp1, tmp2 As String
Dim c, i, t, f As Integer
Dim rst As DAO.Recordset
Dim flag As Boolean
str = ""
Do While str = ""
str = InputBox("Введите название", "Ввод данных") 'Вводим новый элемент
If str = "" Then 'Предотвращение пустой строки
t = MsgBox("Строка не может быть пустой", vbInformation, "Инфо")
End If
Loop
DoCmd.OpenForm "Предприятие1", acNormal 'Открываем форму
DoCmd.GoToRecord acDataForm, "Предприятие1", acNewRec
Set rst = Forms("Предприятие1").Recordset
flag = False
rst.MoveFirst
While Not rst.EOF
If rst![Название предприятия] = str Then
flag = True
GoTo m001:
End If
rst.MoveNext
Wend
m001:
If flag Then
t = MsgBox("Такой элемент в списке уже есть. Добавление невозможно.", vbCritical)
Else
t = MsgBox("Вы действительно желаете добавить новый элемент списка?", vbQuestion + vbYesNo, "Вы уверены?")
If t = 6 Then
rst.AddNew
rst![Название предприятия] = str
rst.Update
z = MsgBox("Добавленно новое название: " & str, vbInformation)
ElseIf t = 7 Then 'отказ от добавления
t = MsgBox("Прервано пользователем!", vbOKOnly + vbCritical, "Error")
End If
End If
DoCmd.OpenForm "Предприятие1", acNormal 'Открываем форму
End Sub
2. Реферат Close Quarters Essay Research Paper Subject Three
3. Реферат на тему Natural Disasters Essay Research Paper Throughout earth
4. Доклад Праздничная депрессия
5. Контрольная_работа на тему Основы проектирования и эксплуатации технологического оборудования транспортных предприятий
6. Реферат на тему Patton American Badass Essay Research Paper General
7. Сочинение на тему Творчество братьев Стругацких
8. Курсовая на тему Обоснование количества и местонахождения складов
9. Реферат Государственное управление 3
10. Реферат Кадастровая оценка земли