- •Информационная система управления торгово-закупочным предприятием на базе субд ms Access
- •Оглавление
- •1. Описание информационных объектов базы данных.
- •2.1. Создание таблицы «Кадры».
- •2.2. Конструирование других таблиц бд. Таблицы Клиенты и Поставщики .
- •Таблицы Заказы и Заказ-Товар.
- •3. Построение схемы данных.
- •4. Разработка форм базы данных.
- •4.1. Общие сведения о формах базы данных (Приложение).
- •4.2. Создание форм для ввода данных в таблицы "Кадры", "Клиенты", "Поставщики".
- •5. Создание формы «Склад».
- •1) Решение первой задачи.
- •2) Решение второй задачи.
- •3) Решение третьей задачи.
- •6. Создание сложной формы «Прием заказов».
- •6.1. Требования к форме "Прием заказов".
- •6.2. Создание запроса и построение главной формы «Прием заказов».
- •Выражение1:[Кадры]![Фамилия сотрудника]&" "&Left([Кадры]![Имя сотрудника];1)&"."& Left([Кадры]![Отчество сотрудника];1) & "."
- •6.3. Создание запроса и построение подчиненной формы.
- •6.4. Построение сложной формы "Прием заказов".
- •7. Создание пользовательского интерфейса.
- •Заключение
- •1. Свойство поля Подстановка таблицы бд.
- •2. Поле объекта ole
- •3. Общие сведения о формах базы данных
- •4. Проектирование запросов базы данных.
- •Литература
2.1. Создание таблицы «Кадры».
Таблица «Кадры»нужна для хранения данных о сотрудниках фирмы. Разработку таблицы производим в режиме конструктора (менюСоздание-Конструктор таблиц, рис.2).
Первое поле таблицы - «Код сотрудника». В это поле записывается индивидуальный код сотрудника. При этом не имеет значения, какой конкретный код имеет тот или иной сотрудник, но важно, чтобы два сотрудника не имели одинаковых кодов.
В самой первой строке в колонке Имя полянапишемКод сотрудника. Тип данных для него –Счетчик. Описание –Код сотрудника фирмы. После того, как выбран тип данных, СУБД определяет, какие свойства должны быть у данного поля. По умолчанию размер поля счетчикадлинное целое – это означает, что для хранения данных, в этом поле выделено 4 байта (диапазон чисел, которые могут быть записаны в это поле, от -2 147 483 648 до 2 147 483 647). Способ генерации новых значений для поля с типом данныхсчетчикопределен по умолчанию, какпоследовательный.
Свойство подпись– определяет подпись этого поля в форме. Его содержимое будет именем поля. Если это свойство не заполнено, именем поля будет присвоенное (КодСотрудника).
Чтобы запретить ввод в поле повторяющихся значений, определим поле как индексированное(Да, совпадения не допускаются). Индексированные поля ускоряют поиск и сортировку в поле (столбце)
Поле код сотрудникабудет в этой таблицепервичнымключевым полем, содержащим уникальные для каждой записи значения. Чтобы сделать полеключевым,нужно в лентеКонструкторнажать кнопку, или в контекстном меню выбрать командуКлючевое поле. Ключевое поле всегда индексированное.
Рис.2. Окно конструктора таблиц
Помимо первичных ключей, идентифицирующих каждую строку таблицы, могут задаваться еще и внешние ключи. В общем случае внешний ключ- это атрибут или комбинация атрибутов (столбцов) одной таблицы (отношения), значение которого обязательно должно совпадать со значением первичного ключа другой таблицы (отношения). Внешние ключи в неявном виде связывают таблицы.
Имя следующего поля таблицы -фамилия сотрудника -можно задать одним словом -Фамилия,а вот в описании этого поля запишем подробно -фамилия сотрудника фирмы. Тип данных для этого полятекстовый. Размер текстового поля по умолчанию – 50 (или 255), его можно изменить.Размер полязадаем для реальнойфамилии сотрудника, - например, 15.
Определим маску ввода. С помощью этого свойства можнооблегчить ввод данных, а также предотвратить ошибки ввода.Маска ввода состоит из трех частей, разделенных точкой с запятой.
Перваячасть состоит изсимволовмаски, используемых для ее определения (символы маски можно посмотреть в справке, нажав клавишуF1, когда курсор находится в поле этого свойства).
Втораячасть определяетрежимзанесения в таблицу строковыхконстант, добавляемых к символам, вводящимся пользователем. Введенный в данный компонент символ 0 или пустое значение указывает, что постоянные символы (например, точки в дате, скобки и дефисы в маске ввода телефонных номеров) сохраняются вместе с введенными пользователем символами; значение 1 данного компонента указывает, что сохраняются только введенные символы.
Третьячасть маски определяетсимвол, используемый для отображения пустых позиций в маске ввода. В этом компоненте можно указать любой символ (поумолчанию– подчеркивания).
Маска ввода для поля Фамилия будет выглядеть следующим образом:>L<CCCCCCCCCCCCCC;;. Символ маски > преобразует все символы, стоящие за ним, к верхнему регистру. СимволLтребует, чтобы в первой позиции набираемого текста обязательно была буква, а не пробел и не цифра. Символ < преобразует все символы, стоящие за ним, к нижнему регистру. Остальные четырнадцать символов маски, определенные английской буквойC, позволят в оставшиеся позиции поляФамилиявводить как буквы, так и пробелы.
Втораячасть созданной маски пустая, так же, как итретья– означает обозначение пустых позиций в виде символов подчеркивания.
Заполняя строку свойства поля Значение по умолчанию,будем помнить о том, что таблицаКадрыбудет заполняться с учетом вакантных должностей. Т.е.обязательным полемв таблицеКадрыдолжно быть полеДолжность, а в полеФамилияможет быть ипустая строка, если эта должность вакантная. ПоставимЗначение по умолчанию““(пустая строка, илиNull), т.е. определим: если должность вакантная, то полеФамилияпустое. Таким же поле становится послеудаления данных. В дальнейшем, если понадобится с помощью запроса выбрать из таблицы вакантные должности, условием отбора в полеФамилиянадо будет указать [Is Null], или [Is Null Or ""], или [<>””].
Свойства Условие на значениеиСообщение об ошибкезаполнять не надо. В строкеОбязательное полеопределим значение –Нет, а в строкеПустые строки- значениеДа. В строкеИндексированное поле зададимДа(совпадения допускаются) – т.к. в одной организации могут работать, например, два Ивановых.
Поля Имя иОтчество конструируютсяаналогичнополюФамилия.
Для поля Должность выбираем Тип поля текстовый. Размер поля можем задать точно, так как известно штатное расписание фирмы, а самое длинное название должности – "Начальник административно-хозяйственного отдела" - 47 символов. Для данного поля свойстваФормат поля, Маска ввода, Значение по умолчанию, Условие на значение и Сообщение об ошибкезаполнять не будем. Установим в положениеДасвойствоОбязательное поле,поскольку это поледолжно быть заполнено, даже если должность вакантна. А свойствоПустые строкиопределим значениемНет. Индексировать данные этого поля не нужно.
Так как известен перечень должностей, можно построить для ввода данных в это поле элемент управлениеПоле со спискомилиСписок. Для созданияСпискаперейдем на вкладкуПодстановкаи в строкеТип элемента управлениявыберем необходимое значение. В строкеТип источника строквыберемСписок значений. Значения перечислим в следующем свойстве (Источник строк) как это показано на рис.3.
Значения остальных свойств поля Подстановка(Присоединенный столбец, Число столбцови т.д.) описаны в Приложении.
Поле Отделв таблице конструируется аналогично полюДолжность.
Поле Дата поступленияна работу имееттип данныхдата/время. Свойствоформат поляпозволяет указать вид представления данных. Например, дату 14.09.07 можно записать просто цифрами, разделенными точками, можно полностью 14 сентября 2007 года, можно сокращенно 14-сен-07 и т. д. УстановимСредний формат даты.Маску ввода определим следующим образом:09.09.00;;. Символы 9 в маске определяют, что в данных вместо этих символов могут быть цифры или пробел, символ 0 требует обязательного ввода цифры.
После ввода даты (по 1-2 цифры в каждую часть) она преобразуетсяв представление,заданное форматом(23-ноя-1999).
Остальные свойства этого поля оставляем по умолчанию. Размер полядляДатявляется стандартным: 8байтов.
Свойства поля Дата рожденияне отличаются от свойств поляДата поступления.
Поле Район проживанияможет быть отдельнымдля выборки и представления данных в налоговую инспекцию. Тип данных текстовый, для ввода названий районов можно построитьСписок. Размер поля определяется по самому длинному названию района города.
Поле Адрес сотрудника. Это поле стекстовым типом данных,размеркоторого порядка 70-90 символов. Желательно построитьмаскувводадля этого поля, например:
"ул./просп. ">?<??????????????????", дом № "099", корп. "9", кв. "099
Можно сконструировать поле Телефон: типтекстовый, маска ввода: (999)-990-00-00 .
Поле Паспортные данныестекстовым типом данных, размер которого порядка 100 символов. Желательно построитьмаскуввода, например:
0000" "000000" выдан ">?<????????????????" УВД "00.00.0000"г."
Поле Количество детей. Данные этого поля - целые числа, для записи которых хватит одного байта (в один байт можно записать целые числа из диапазона от –128 до +127).
Поле Заработная плата. Очевидно, что тип данных -денежный. Выбрав его, можно построитьпользовательский(специальный)форматдля вывода данных.
Кроме того, задав для этого поля свойство Значение по умолчанию0,00 рублей, можно считать, что если в поле указано 0,00 рублей, то оплата труда – сдельная, а если указано реальная сумма, то сотрудник работает в штатной должности.
[В разрабатываемой БД все сотрудники работают штатно!].
При конструировании полей таблицы Номер приказа на поступлениеиНомер приказа на увольнениенадо учитывать, что в них должна быть еще и дата этого приказа. Поэтому необходима маска ввода, например:["№ "0999" от "00.00.00"г."].
Можно добавить в таблицу еще одно поле: фотографиясотрудника.Тип данныхэтого поля -Поле объекта OLE(см.Приложение). Задавая такой тип данных, пользователь может заполнять это поле связанными или внедренными в таблицу БД объектами, напр., файлами с фотографиями сотрудников.
Можно было бы в таблицу Кадрыдобавить полеБиография сотрудника. Хотя это информация текстовая, но текст большой (более 255 знаков), поэтому для этого поля надо выбратьтип данных MEMO. MEMO - это так называемый длинный текст, в нем можно записать до 65535 символов.
В ходе конструирования таблицы Кадры надо дать ей имя вместо стандартного (таблица 1, ...). Имя объекта СУБДMS Accessможет быть длиной до 64 символов, состоять из букв, цифр и специальных символов, кроме восклицательного знака, точки и угловых скобок.