p align="left">Таблица «Изделие» (таблица 6.2.4): 1. Код города -Ключ: первичный ключ; -Счетчик; -Длинное целое; -Размер: 3; -Совпадение не допускаются, так как это первичный ключ, он считает записи в таблице. 2. Название изделия - Текстовое; - Размер 20; - Обязательное поле, так как изделия не может быть без названия; - Пустых строк нет, так как тип не может иметь пустое название; - Совпадения не допускаются, так как разные изделия не могут иметь одно и то же название. Таблица 6.2.4 «Изделие» |
Изделие | | #Код изделия | Название изделия | | 1 | Шайбы | | 2 | Чайники | | 3 | Болты | | 4 | Бочки | | 5 | Двигатели | | 6 | Сковородки | | 7 | Столы | | 8 | Кровати | | 9 | Компьютеры | | |
Таблица «Цех» (таблица 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 «Цех» |
Цех | | #Код цеха | Название цеха | Количество рабочих | Дата ввода в строй | Дата последней реконструкции | Предприятие | | 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 | Шахтуглесервис | | |
Таблица «Выпуск» (таблица 6.2.6): 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
Страницы: 1, 2, 3
|