Заключение договоров с поставщиками оптового склада
Обоснование выбора программного обеспечения Borland Delphi. Проектирование информационной модели базы данных в ERWIN в стандарте IDEF1X. Разработка физической модели базы данных заключения договоров с поставщиками на оптовый склад. Листинг программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 18.02.2011 |
Размер файла | 435,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
Государственное образовательное учреждение высшего
профессионального образования
«Тольяттинский государственный университет сервиса»
Кафедра «Прикладная информатика в экономике»
Курсовой проект
по дисциплине «Базы данных»
на тему: «Оптовый склад. Заключение договоров с поставщиками».
Выполнил:
ст. гр. И-202
Рябинина Е.В.
Проверил:
ст. преподаватель
Киреева О.А.
Тольятти, 2007
Оглавление
- Введение 3
- 1. Аналитическая часть 4
- 1.1 Анализ предметной области. 4
- 1.2 Анализ информационной структуры 5
- 1.3 Описание технологии функционирования ИС 6
- 1.4 Исследование по выбору операционной среды н программного обеспечения. 7
- Глава 2. Проектная часть 10
- 2.1 Информационная модель базы данных 10
- 2.2 Физическая модель базы данных. 12
- Глава 3. Разработка системы управления проектируемой базы данных 17
- 3.1 Разработка функциональной модели СУБД 17
- 3.2 Разработка экранных форм ввода, вывода и отчетов 19
- 3.3 Разработка функциональных модулей 23
- Заключение 26
- Список литературы 27
- Приложение 28
Введение
На сегодняшний день невозможно представить себе жизнь без компьютера. Компьютеры прочно вошли в нашу жизнь, для того чтобы упростить её и помочь нам не растеряться в огромном потоке окружающей нас информации. Почти каждое рабочее место оборудовано по последнему слову техники и программного обеспечения. И нам остаётся только совершенствовать то, что уже нам дано.
Любая учётная работа это большой труд, поэтому её необходимо автоматизировать. Так например, оптовый склад - это сложная система, автоматизация которой крайне необходима. Вся информация, касающаяся поставщиков, товаров, оплаты должна быть представлена лаконично в системе управления.
Также автоматизированные системы управления позволяют избавиться от бумажной волокиты и исключить либо максимально уменьшить возможность ошибок, связанных с человеческим фактором, являющимся причиной дополнительных неудобств и материальных затрат. Поэтому с уверенностью можно сказать, что автоматизация оптового склада, да и не только, - это актуальная на сегодняшний день тема, которую необходимо развивать.
В соответствии с этим, целью данной работы является автоматизация работы по заключению договоров с поставщиками товара на оптовый склад, создание базы данных и приложения базы данных.
Выделим основные задачи данной работы:
1. Анализ предметной области, т.е. области автоматизации рабочего места администратора на оптовом складе.
2. Анализ информационной структуры оптового склада.
3. Анализ и описание функционирования автоматизированной системы оптового склада.
4. Исследование по выбору программного обеспечения для создания приложения.
5. Проектирование информационной модели базы данных оптового склада.
6. Проектирование реляционной модели.
7. Разработка функциональной модели.
8. Разработка форм приложения.
9. Разработка функциональных модулей программы.
10. Непосредственное создание и компиляция приложения.
1. Аналитическая часть
1.1 Анализ предметной области
В данной работе необходимо разработать информационную систему для автоматизации заключения договоров с поставщиками товаров на склад. В данной системе должны храниться данные о заключенных договорах, поставщиках, товарах; причем должна иметься возможность обновления этих данных. Также в системе должны осуществляться поиск договоров и поставщиков по определенным параметрам.
Можно конкретизировать, что в нашем случае предметом фирмы является - поставляемый товар. Следовательно, при проектировании необходимо учесть основные свойства данной категории:
- цена,
- единица измерения,
- производителя,
- страна производителя.
Объектом анализа является сам склад, на котором заключаются договора, субъектом - поставщики товара.
Каждый договор имеет номер, дату, количество товара. По нему определяется и сам документ, и его актуальность. Обязательно в каждом договоре указывается информация о самой поставке.
В данной информационной системе склад указываться не будет, поскольку для всех договоров он одинаковый - наш оптовый склад. Также с одним и тем же поставщиком можно заключить несколько договоров, один и тот же код поставщика может использоваться в нескольких договорах.
Поставщики могут иметь одинаковые названия, но они различаются по своему коду, который уникален. Обязательной информацией является:
- наименование,
- юридический адрес,
- телефон,
- реквизиты (ИНН, КПП).
Каждому заключению присваивается уникальный код, так чтобы достаточно большой объем информации о поставках мог быть кратко представлен в договоре. Здесь пустым не может быть не одно из полей.
В данной информационной системе должны работать работники администрации оптового склада.
1) Ведущие учет о заключенных договорах.
2) Сведения о поставщиках и договорах
Администрация должна иметь возможность получать:
1) сведения о заключенных договорах, то есть его номер, дату для определения срока давности.
2) Данные о товарах, поставляемых на оптовый склад от разных производителей и их количество.
3) сведения о поставщиках: наименование организации, адрес, телефон на случай связи с поставщиком (на случай нарушения обязательств);
4) общую суму поставки.
Выходными документами, которые должны создаваться в системе, являются непосредственные договора, а также итоговые отчеты для администрации оптового склада.
1.2 Анализ информационной структуры
В обобщенном виде заключение договоров о поставке можно представить в виде схемы (рис. 1).
Размещено на http://www.allbest.ru/
Рис.1. Заключение договоров с поставщиками на оптовый склад
Оптовый склад работает с договором (он осуществляет контакт с поставщиками посредством договора).
1.3 Описание технологии функционирования ИС
В первую очередь необходимо осуществить договор с поставщиком товара. Эта операция непосредственно отражается в заключаемых договорах с поставщиками. Данная документ содержит информацию о поставщиках, осуществляемых доставку товара на предприятие и непосредственно вид поставляемого товара. Учет поступления товаров на склад ведётся работником фирмы, данные берутся непосредственно накладной по товару и из договоров заключённых с поставщиками. Содержатся сведения о количестве прибывшего товара, о дате прихода и непосредственно все данные о поставщике выполняющего заказы. Журнал договоров является одним из основных документов, благодаря информации содержащейся в нем, осуществляются такие операции на фирме, как: учёт многолетних поставок товаров на оптовый склад и отслеживание более выгодных сделок, а так же задолженности по ним. Все выше изложенные данные необходимы также для того, чтобы можно было вести учёт, а затем делать прогнозы на более выгодную поставку товаров. Впоследствии в эти таблицы могут вноситься соответствующие изменения и дополнения на основании обновленной информации, полученной от поставщиков и администрации оптового склада.
1.4 Исследование по выбору операционной среды н программного обеспечения
Выбор в качестве операционной среды для функционирования АРМа платформы Win32 (ей соответствуют операционные системы Windows95, Windows98, NT, Me, XP) обусловлен следующими ее особенностями:
- ориентация заказчика на эту платформу;
- развитые средства создания пользовательского интерфейса;
- достаточная масштабируемость, т.е. способность работать на широком диапазоне компьютерного оборудования;
- наличие драйверов для поддержки широкого спектра периферийных устройств (видеоадаптеров, сетевых адаптеров, принтеров, дисководов CD-ROM и пр.);
- чрезвычайно широкое распространение этой платформы;
- приемлемая для задач такого уровня надежность н производительность программ, работающих с использованием механизма вытесняющей многозадачности.
Из недостатков данной платформы, существенных для предлагаемой разработки, стоит отметить следующие:
- отсутствие в операционных системах Windows95 и Windows98 средств обеспечения безопасности н защиты от несанкционированного доступа, что вынуждает разрабатывать собственные или использовать сторонние модули для этого.;
- высокая требовательность к аппаратным ресурсам компьютера, что вынуждает использовать более мощные аппаратные платформы.
В настоящее время на персональных компьютерах под Windows существует несколько великолепных объектно-ориентированных программных средств: Visual C++, Visual Object, MS Access, Power Builder. Все они обладают своими достоинствами и недостатками, но среди них занимают исключительное место программные продукты фирмы Borland Inc.-лидера объектно-ориентированных технологий, которая со своими новейшими разработками вновь вышла на арену ожесточенной конкурентной борьбы. По своей сути Delphi - это компилятор языка Pascal. Delphi 7 является очередным шагом в эволюции компиляторов Pascal. В чем же основные преимущества Delphi по сравнению с другими аналогичными продуктами?
1. Скорость компиляции. Компиляция Windows приложений производится со скоростью 350000 строк в минуту. Встроенная МАКЕ-утнлита позволяет быть уверенным, что ре компилируются только измененные модули, а встроенный ассемблер оптимизирует программный код для перевода его в ЕХЕ-файл с целью максимальной эффективности исполнения. В результате готовые программы, построенные с помощью Delphi, выполняются в 10-20 раз быстрее, чем аналогичные модули на базе интерпретирующего p-code(MS Visual Basic, Power Builder н другие). В этом смысле Delphi представляет собой подлинный, истинный компилятор.
2. Borland-продукты всегда пользовались заслуженной популярностью благодаря своим великолепным отладочным средствам в отличие, скажем, от пренебрежительного отношения к нуждам программистов со стороны фирмы Microsoft. В этом смысле Delphi не представляет исключения. Вдобавок он обогащен дополнительными отладочными средствами:
- великолепный GUI Debugger с возможностями установки контрольных точек прерывания, точек контроля прохождения, стэк-монитора, пошагового выполнения и режима трассировки;
- Win Sight-утилита, позволяющая осуществлять непрерывный контроль потока Windows-сообщений;
- WinSpector-модуль, обеспечивающий пользователей дальней диагностикой.
3. Если пользователь предпочитает работать с разнообразными программными средствами, Delphi позволяет создавать многократно используемые библиотеки, которые можно вызывать из Visual C++, Visual Object, MS Access, Power Builder и других популярных программных средств. Кроме того, модно использовать повторно используемые графические компоненты и коммерческие, которые легко прибавляются к конфигурируемой палитре компонентов Delphi.
4. Delphi-приложения, разработанные в среде Windows 3.1, будут работать и под Windows 95 и под Windows NT. Если же все-таки нужно перевести их в 32- битовый режим выполнения, нужно будет просто ре компилировать их в Windows 95 версии Delphi. Переписывать при этом исходный код нет никакой необходимости.
Кроме того, Delphi позволяет решать множество задач, в частности: создавать законченные приложения для Windows самой различной направленности, быстро создавать профессионально выглядящий оконный интерфейс для любых приложений, написанных на любом языке; интерфейс удовлетворяет всем требованиям Windows и автоматически настраивается на ту систему, которая установлена на компьютере пользователя, создавать мощные системы работы с локальными н удаленными базами данных любых типов, создавать многозвенные распределенные приложения, основанные на различных технологиях, создавать кросс платформенные приложения.
В Delphi 7 введена новая технология доступа к базам данных - dbExpress. Это драйверы, обеспечивающие доступ к серверам SQL на основе единого интерфейса.
Все вышеперечисленное превращают Delphi 7 в наилучшее средство для разработки приложения.
Глава 2. Проектная часть
2.1 Информационная модель базы данных
Информационная модель проектируемой базы данных «Оптовый склад» выполнена в Platinum ERWIN в стандарте IDEF1X.
Размещено на http://www.allbest.ru/
Поставщики Договор Товары
Реквизиты
Рис.2 Информационная модель базы данных «Оптовый склад»
Проектируемая база данных включает в себя четыре таблицы, связанных между собою. Связь осуществляется по ключевым полям и имеет тип «один-ко-многим». Между собою связаны следующие таблицы:
- таблицы «Реквизиты», «Поставщики», связь по полю «Код реквизитов»;
- таблицы «Поставщики», «Договор», связь по полю «Код поставщика»;
- таблицы «Договор» и «Товар» по полю «Код товара»;
Сущность «Товары» отражает виды товаров и является справочником. В неё входят атрибуты: «Код товара» (ключевой атрибут), «Наименование», «Единица измерения», «Производитель» «Страна производителя», «Срок годности» и «Цена».
Сущность «Поставщики» отражает поставщиков товара на склад. Она содержит ключевой атрибут «Код поставщика», а также атрибуты «Наименование организации», «Юридический адрес», «Телефон» и «Реквизиты».
Сущность «Договор» отражает поставки на склад. Ключевым является атрибут «Код договора». Атрибуты «Код товара» и «Код товара» являются внешними ключами, т.к. отражают поставленный товар и поставщика этого товара. Также в эту сущность входят атрибуты «Количество» и «Дата».
Сущность «Реквизиты» содержит реквизиты организации, поставляемой товар на оптовый склад. «Код реквизитов» является ключевым атрибутом. Дополнительные атрибуты - «ИНН» и «КПП».
Сущности «Товары», «Поставщики» и «Реквизиты» являются справочными, «Договор» - операционной.
2.2 Физическая модель базы данных
В соответствии с проведенными нами системным анализом предметной области и спроектированной инфологической моделью, база данных данного курсового проекта состоит из четырех таблиц: «Поставщики», «Реквизиты», «Договор», «Товар». Поля для обязательного заполнения указаны в соответствии с ограничениями на информацию, указанными в системном анализе предметной области
Таблица «Реквизиты». (Req)
Смысл |
Название |
Тип |
Длина |
|
Код реквизитов |
Kod_req |
Автоинкремент |
||
ИНН |
INN |
строка |
25 |
|
КПП |
KPP |
строка |
25 |
Рис.3. Таблица «Реквизиты». (Req)
программа база данные договор
Таблица «Поставщики». (Post)
Смысл |
Название |
Тип |
Длина |
|
Код поставщика |
Kod_post |
Автоинкремент |
||
Наименование |
Name_post |
Строка |
20 |
|
Юр. адрес |
Adres |
Строка |
20 |
|
Телефон |
Telefon |
Целочисленные значения |
||
Код реквизитов |
Kod_req |
Целочисленные значения |
Рис.4. Таблица «Клиенты». (Klienti)
Таблица «Договор». (Dog)
Смысл |
Название |
Тип |
Длина |
|
№ договора |
N_dog |
Автоинкремент |
||
Код товара |
Kod_tov |
Целочисленные значения |
||
Код поставщика |
Kod_post |
Целочисленные значения |
||
Количество |
Kol_vo |
Целочисленные значения |
||
Дата |
Date |
Дата |
Рис.5. «Договор» (Dog)
Таблица «Товары». (Tov)
Смысл |
Название |
Тип |
Длина |
|
Код товара |
Kod_tov |
Автоинкремент |
||
Наименование товара |
Name_tov |
Строка |
20 |
|
Производитель |
Proiz |
Строка |
20 |
|
Страна производителя |
Strana |
Строка |
20 |
|
Срок годности |
Srok_god |
Целочисленные значения |
||
Цена |
Zena |
Целочисленные значения |
При создании данной базы данных мною были определены следующие индексы:
1) в таблице «Договор»
a. код поставщика
b. код товара
c. количество
d. номер договора
2) в таблице «Поставщики»
a. код реквизитов
b. код поставщика
c. наименование поставщика
3) в таблице «Товары»
a. код товара
b. наименование товара
c. цена
4) в таблице «Реквизиты»
a. код реквизитов
Глава 3. Разработка системы управления проектируемой базы данных
3.1 Разработка функциональной модели СУБД
Разрабатываемую систему управления базой данных можно представить в виде схемы (выполнена в BPWin), (рис.9).
Рис.9. Схема СУБД «Заключение договоров с поставщиками товара на оптовый склад»
Таким образом, из данной схемы видно, что разрабатываемая система должна выполнять следующие функции: ввод новой информации в БД, обновление и удаление раннее введенной информации, поиск, сортировка и фильтрация необходимых данных.
Для этого предназначены следующие модули:
1. Модули, обеспечивающие доступ к другим модулям приложения.
2. Модули, обеспечивающие доступ к таблицам БД и позволяющие вводить новую информацию, обновлять и удалять введенную ранее информацию.
3. Модули, обеспечивающие доступ к таблицам БД и позволяющие осуществлять просмотр данных, их поиск, сортировку и фильтрацию.
4. Модуль, осуществляющий запрос по информации из других таблиц.
5. Модуль, отвечающий за своевременное функционирование механизмов устранения транзакций.
3.2 Разработка экранных форм ввода, вывода и отчетов
При разработке СУБД «Склад» были разработаны экранные формы ввода/вывода исходных данных и результатов обработки, а также печатаемых отчётов. Они представлены на следующих рисунках…
Форма позволяет осуществить выбор модуля посредством нажатия на одну из кнопок.
При нажатии на кнопку «Поставщики» появляется форма «Поставщики», в которой происходит редактирование соответствующей таблицы:
Навигатор позволяет оперировать таблицей, группа - редактировать текущую запись. Радио-группа осуществляет сортировку таблицы. GroupBox осуществляет фильтрацию по различным полям. Нажатием на кнопку осуществляется поиск по наименованию и по двум полям (наименование, адрес), осуществляется легкое перемещение по полям таблицы. При нажатии на «Печать» на печать выдается договор о поставке товара на оптовый склад.
При нажатии на кнопку «Реквизиты» меню «Переход на другую форму» появляется форма «Реквизиты», в которой происходит редактирование реквизитов предприятия, выступающего в роли поставщика на склад:
При нажатии на кнопку «Договор» в меню «Переход на другую форму» открывается форма «Договор», позволяющая редактировать таблицу «Договор»:
Эта форма аналогична форме «Постывщики».
При нажатии на кнопку «Товары» появляется форма «Товары», позволяющая вносить и редактировать данные о товарах:
При выборе в меню функции «Рассчитать сумму» появляется возможность рассчитать общую сумму поставки товаров на склад.
При выборе кнопки «Выход» закрывается соответствующая форма.
Кнопки «Поиск», «Фильтр», «Сортировать» позволяют оперировать таблицей. Радио-группы осуществляет сортировку и поиск по таблице. Навигатор позволяет оперировать таблицей. При добавлении новой записи можно воспользоваться выпадающими списками.
3.3 Разработка функциональных модулей
Исходя из вышесказанного, можно сделать вывод, что для успешного функционирования программы необходимо и достаточно создание следующих модулей:
1. Модуль «Главная форма» - Модуль управления «Главная форма»
2. Модуль «Договора» - Модуль управления «Договора»
3. Модуль «Поставщики» - Модуль управления «Поставщики»
4. Модуль «Товары» - Модуль управления «Товары»
5. Модуль «Реквизиты» - Модуль управления «Реквизиты»
Из каждого из этих модулей имеется возможность перехода на любой другой модуль.
Каждому из вышеперечисленных модулей соответствуют экранные формы.
Модулю «Главная форма» соответствует экранная форма «Главная форма».
Форма содержит:
- кнопки перехода ко всем экранным формам;
- кнопку закрытия экранной формы;
- Модулю «Договора» соответствует экранная форма «Договора».
- На ней расположены:
- группу полей, отображающих текущие значения ячеек таблицы и обеспечивающих ввод новой информации в таблицу;
- поле для ввода информации о коде товара и коде поставщика с выпадающим списком
- кнопка закрытия экранной формы;
- кнопка, обеспечивающая фильтрацию информации о договорах по различным параметрам;
- кнопка, позволяющая восстановить все записи в таблице, скрытые в результате фильтрации;
- навигатор, позволяющий оперировать таблицей;
- кнопка, обеспечивающая сортировку информации по номеру договора и по количеству товара.
- Модулю «Поставщики» соответствует экранная форма «поставщики».
- На ней расположены следующие объекты:
- кнопки перехода к экранным формам;
- поле для ввода информации с выпадающим списком кодов реквизитов;
- группу полей, отображающих текущие значения ячеек таблицы и обеспечивающих ввод новой информации в таблицу;
- кнопка закрытия экранной формы;
- кнопка, обеспечивающая поиск по различным параметрам;
- кнопку печать, позволяющую выводить на печать соответствующий отчёт;
- кнопка, обеспечивающая фильтрацию информации по различным параметрам;
- кнопка, позволяющая восстановить все записи в таблице, скрытые в результате фильтрации;
- навигатор, позволяющий оперировать таблицей;
- кнопки для быстрого перехода по записям таблицы.
- Модулю «Товары» соответствует экранная форма «Товары».
- На ней расположены следующие объекты:
- группу полей, отображающих текущие значения ячеек таблицы и обеспечивающих ввод новой информации в таблицу;
- кнопка закрытия экранной формы;
- кнопка, обеспечивающая поиск данных о товарах по их наименованию;
- кнопка, обеспечивающая фильтрацию информации по различным параметрам;
- кнопка, позволяющая восстановить все записи в таблице, скрытые в результате фильтрации;
- группу полей, отображающих текущие значения ячеек таблицы и обеспечивающих ввод новой информации в таблицу;
- навигатор, позволяющий оперировать таблицей.
Модулю «Реквизиты» соответствует экранная форма «Реквизиты».
На ней расположены:
- кнопки перехода к экранным формам;
- кнопка закрытия экранной формы;
- навигатор, позволяющий оперировать таблицей.
Заключение
Результатом данного курсового проекта является создание приложения для работы с базой данных «Заключение договоров с поставщиками товара ни оптовый склад». Оно автоматизирует доступ к базе данных, а также оптимизирует работу сотрудников и руководителей оптового склада.
Разработанное приложение может быть использовано оптовым складом, не зависимо от того, на каком товаре он специализируется. Данная программа обеспечивает надежное хранение информации, а также существенную экономию времени, затрачиваемого на работу с имеющимися данными.
При создании данного приложения были реализованы следующие задачи:
1. была проанализирована предметная область - область автоматизации учета оказанных услуг в компьютерном сервисном центре;
2. было проведено исследование по выбору программного обеспечения для создания базы данных и приложения, выбор был сделан в пользу Borland Delphi;
3. была спроектирована информационная модель базы данных в ERWIN в стандарте IDEF1X, в соответствии с предметной областью;
4. была разработана физическая модель базы данных заключения договоров с поставщиками товаров на оптовый склад;
5. было создано приложения для работы с базой данных;
6. приложение было протестировано и отлажено;
Таким образом, задачи курсового проекта выполнены, а значит, цель достигнута.
В будущем планируется усовершенствование данного приложения, а именно:
1. разработка модулей, позволяющих устанавливать ограничения на доступ к данным для различных категорий пользователей
2. расширение базы данных, за счет добавления дополнительных справочных таблиц.
На данном этапе разработки созданное приложение для работы с базой данных «Заключение договоров с поставщиками товара на оптовый склад» выполняет свои функции, а значит, готово к использованию.
Список литературы
1. Архангельский А.Я. Программирование в Delphi 5 - 2-е изд., переработ. И дополн. - М.: ЗАО «Издательство БИНОМ», 2000 г.
2. http:\\www.delphiworld.narod.ru
3. Дейт, К., Дж. Введение в системы баз данных, 6-е издание: Пер. с англ. - К.; М.; СПб.: Издательский дом «Вильямс», 2000. - 848 с.: Парал. тит. англ., уч. пос.
4. Дж. Ульман, Дж. Видом. Введение в системы баз данных. М.: Лори.-2000.
5. К. Дейт. Введение в системы баз данных. 7-е изд., М.; СПб.: Вильямс.-2002.
Приложение
Листинг программы
Модуль «Поставщики»
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, DBTables, StdCtrls, ExtCtrls, Mask, DBCtrls,
Menus, Buttons;
type
TForm1 = class(TForm)
DataSource1: TDataSource;
Table1: TTable;
Button2: TButton;
Edit1: TEdit;
Button4: TButton;
Edit2: TEdit;
RadioGroup1: TRadioGroup;
Button1: TButton;
Label1: TLabel;
Button6: TButton;
Button7: TButton;
DBNavigator1: TDBNavigator;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
DBGrid1: TDBGrid;
N6: TMenuItem;
N7: TMenuItem;
DBLookupComboBox1: TDBLookupComboBox;
Query1: TQuery;
DataSource2: TDataSource;
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
Edit4: TEdit;
Button3: TButton;
Button5: TButton;
N8: TMenuItem;
Label3: TLabel;
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7;
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
begin
Table1.Locate('Name_post', edit1.Text, [loCaseInsensitive, loPartialKey]) ;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
try
if RadioButton1.Checked=True then
begin
Table1.Filtered:=true;
Table1.Filter:=' (Name_post='''+edit4.Text+''')';
end;
if RadioButton2.Checked=True then
begin
Table1.Filtered:=true;
Table1.Filter:=' (Adres='''+edit4.Text+''')';
end;
if RadioButton3.Checked=True then
begin
Table1.Filtered:=true;
Table1.Filter:=' (Kod_req='''+edit4.Text+''')';
end;
except
ShowMessage (' некорректно введены условия фильтра! ');
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if Table1.Locate('Name_post;Adres',
VarArrayOf([edit1.Text, edit2.Text]),
[loCaseInsensitive, loPartialKey])=false then
ShowMessage (' Запись не найдена! ') ;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0: Table1.IndexName:= 'Sort_kod_post';
1: Table1.IndexName:= 'Sort_name_post';
End;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Table1.Filtered:=False;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
Table1.First;
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
Table1.Last
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
Table1.Filtered:=False;
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
Table1.Filtered:=True;
Table1.Filter:=edit4.text;
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
Form2.Show
end;
procedure TForm1.N2Click(Sender: TObject);
begin
close
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0: Table1.IndexName:= 'Sort_Naimenovanie';
1: Table1.IndexName:= 'Sort_Telephone';
end;
end;
procedure TForm1.N4Click(Sender: TObject);
begin
Form3.Show
end;
procedure TForm1.N5Click(Sender: TObject);
begin
Form2.Show
end;
procedure TForm1.N6Click(Sender: TObject);
begin
Form4.Show;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
Form5.Show;
end;
procedure TForm1.N3Click(Sender: TObject);
begin
Form6.QuickRep1.Preview;
end;
procedure TForm1.N8Click(Sender: TObject);
begin
form7.show;
end;
end.
Модуль «Товары»
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, DB, DBTables, Grids, DBGrids, ExtCtrls,
Menus;
type
TForm2 = class(TForm)
DataSource1: TDataSource;
Table1: TTable;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
Label2: TLabel;
Label3: TLabel;
Button1: TButton;
Button2: TButton;
RadioGroup1: TRadioGroup;
DBNavigator1: TDBNavigator;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
Button3: TButton;
Button4: TButton;
Edit1: TEdit;
Label4: TLabel;
Edit2: TEdit;
Button5: TButton;
Label5: TLabel;
Label6: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure GroupBox1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit1, Unit3;
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
IF Table1. State = dsBrowse THEN
Table1.Insert;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
try
case RadioGroup1. ItemIndex of
0: Table1.IndexName:= 'Sort_kod_tov';
1: Table1.IndexName:= 'Sort_name_tov';
2: Table1.IndexName:= 'Sort_zena';
end;
except
ShowMessage ('ошибка! ');
end;
end;
procedure TForm2.N2Click(Sender: TObject);
begin
Form3.Show
end;
procedure TForm2.N3Click(Sender: TObject);
begin
Form1.Show
end;
procedure TForm2.N4Click(Sender: TObject);
begin
close
end;
procedure TForm2.Button3Click(Sender: TObject);
begin
try
if RadioButton1.Checked=True then
begin
Table1.Filtered:=true;
Table1.Filter:=' (Name_tov='''+edit1.Text+''')';
end;
if RadioButton2.Checked=True then
begin
Table1.Filtered:=true;
Table1.Filter:=' (Proiz='''+edit1.Text+''')';
end;
if RadioButton3.Checked=True then
begin
Table1.Filtered:=true;
Table1.Filter:=' (Zena='''+edit1.Text+''')';
end;
if RadioButton4.Checked=True then
begin
Table1.Filtered:=true;
Table1.Filter:=' (Srok_god='''+edit1.Text+''')';
end;
except
ShowMessage (' Некорректно введены условия фильтра! ');
end;
end;
procedure TForm2.GroupBox1Click(Sender: TObject);
begin
Form1.Show
end;
procedure TForm2.Button4Click(Sender: TObject);
begin
Table1.Filtered:=False;
end;
procedure TForm2.Button5Click(Sender: TObject);
begin
Table1.Locate('Name_tov', edit2.Text, [loCaseInsensitive, loPartialKey]) ;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
end;
end.
Модуль «Договора»
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, Grids, DBGrids, Menus, StdCtrls, ExtCtrls, DBCtrls;
type
TForm3 = class(TForm)
DataSource1: TDataSource;
Table1: TTable;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
RadioGroup1: TRadioGroup;
DBGrid1: TDBGrid;
Button2: TButton;
N5: TMenuItem;
DBLookupComboBox1: TDBLookupComboBox;
DBLookupComboBox2: TDBLookupComboBox;
DBNavigator1: TDBNavigator;
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
Edit1: TEdit;
Button1: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
N6: TMenuItem;
Label1: TLabel;
Button6: TButton;
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses Unit2, Unit1, Unit4, Unit7;
{$R *.dfm}
procedure TForm3.N2Click(Sender: TObject);
begin
Form2. show ;
end;
procedure TForm3.N3Click(Sender: TObject);
begin
Form1.Show ;
end;
procedure TForm3.N4Click(Sender: TObject);
begin
close ;
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
case RadioGroup1. ItemIndex of
0: Table1.IndexName:= 'Sort_N_dog';
1: Table1.IndexName:= 'Sort_kol_vo';
end;
end;
procedure TForm3.N5Click(Sender: TObject);
begin
Form4.Show;
end;
procedure TForm3.Button3Click(Sender: TObject);
begin
try
if RadioButton1.Checked=True then
begin
Table1.Filtered:=true;
Table1.Filter:=' (Kod_tov='''+edit1.Text+''')';
end;
if RadioButton2.Checked=True then
begin
Table1.Filtered:=true;
Table1.Filter:=' (Kod_post='''+edit1.Text+''')';
end;
if RadioButton3.Checked=True then
begin
Table1.Filtered:=true;
Table1.Filter:=' (Date='''+edit1.Text+''')';
end;
except
ShowMessage (' Некорректно введены условия фильтра! ');
end;
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
Table1.Filtered:=False;
end;
procedure TForm3.Button4Click(Sender: TObject);
begin
Form2. show ;
end;
procedure TForm3.Button5Click(Sender: TObject);
begin
Form1.Show ;
end;
procedure TForm3.N6Click(Sender: TObject);
begin
Form7.Show ;
end;
procedure TForm3.Button6Click(Sender: TObject);
begin
Form7.Show ;
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
end;
end.
Модуль «Реквизиты»
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables;
type
TForm4 = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Table1: TTable;
DBNavigator1: TDBNavigator;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
Uses Unit1, Unit2, Unit3;
{$R *.dfm}
procedure TForm4.N2Click(Sender: TObject);
begin
Form1.Show;
end;
procedure TForm4.N3Click(Sender: TObject);
begin
Form1.Show;
end;
procedure TForm4.N4Click(Sender: TObject);
begin
Form3.Show;
end;
procedure TForm4.N5Click(Sender: TObject);
begin
close
end;
procedure TForm4.FormCreate(Sender: TObject);
begin
end;
end.
Модуль «Главная форма»
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls;
type
TForm5 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Image1: TImage;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
uses Unit1, Unit3, Unit2;
{$R *.dfm}
procedure TForm5.Button1Click(Sender: TObject);
begin
Form1.Show;
end;
procedure TForm5.Button3Click(Sender: TObject);
begin
Form3.Show;
end;
procedure TForm5.Button2Click(Sender: TObject);
begin
Form2.Show;
end;
procedure TForm5.Button4Click(Sender: TObject);
begin
close
end;
procedure TForm5.FormCreate(Sender: TObject);
begin
end;
end.
Модуль «Рассчитать сумму»
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, DB, DBTables, Grids, DBGrids, StdCtrls;
type
TForm7 = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Query1: TQuery;
MainMenu1: TMainMenu;
N1: TMenuItem;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
N2: TMenuItem;
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form7: TForm7;
implementation
{$R *.dfm}
procedure TForm7.N1Click(Sender: TObject);
var
sum, sum1, kol, zen:integer;
str: string;
begin
sum:=0;
with Query1 do
begin
First;
while not(eof) do
begin
kol:=fieldbyName('Kol_vo').asInteger;
zen:=fieldbyName('Zena').asInteger;
sum1:=kol*zen;
sum:=sum+sum1;
next;
end;
end;
str:=inttostr(sum);
label2.Caption:=str;
end;
procedure TForm7.N2Click(Sender: TObject);
begin
close
end;
procedure TForm7.FormCreate(Sender: TObject);
begin
end;
end.
Модуль «Отчет»
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, QuickRpt, QRCtrls, ExtCtrls;
type
TForm6 = class(TForm)
QuickRep1: TQuickRep;
QRBand1: TQRBand;
QRBand2: TQRBand;
QRBand3: TQRBand;
QRLabel1: TQRLabel;
QRLabel2: TQRLabel;
QRLabel3: TQRLabel;
QRLabel4: TQRLabel;
QRLabel5: TQRLabel;
QRLabel6: TQRLabel;
QRDBText1: TQRDBText;
QRDBText2: TQRDBText;
QRDBText3: TQRDBText;
QRDBText4: TQRDBText;
QRDBText5: TQRDBText;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
uses Unit1;
{$R *.dfm}
end.
Размещено на Allbest.ru
Подобные документы
Описание предметной области. Концептуальное проектирование базы данных. Разработка базы данных оптового склада. Требования, предъявляемые к аппаратному и программному обеспечению Borland Delphi 7.0 и MySQL. Работа с базой данных оптового склада.
курсовая работа [705,8 K], добавлен 18.06.2015Описание предметной области разрабатываемой базы данных для теннисного клуба. Обоснование выбора CASE-средства Erwin 8 и MS Access для проектирования базы данных. Построение инфологической модели и логической структуры базы данных, разработка интерфейса.
курсовая работа [3,8 M], добавлен 02.02.2014Обзор преимуществ и недостатков среды программирования Delphi, ее сравнение с аналогичными продуктами. Разработка инфологической, датологической, модели базы данных. Проектирование структуры программного обеспечения и понятного интерфейса базы данных.
курсовая работа [964,8 K], добавлен 27.09.2014Разработка программного приложения по учету договоров с поставщиками и клиентами для строительного предприятия. Особенности использования технологии Net Framework 2.0 в алгоритмически-логическом аспекте на основе реляционной базы, управляемой языком SQL.
курсовая работа [3,0 M], добавлен 25.06.2011Анализ программного обеспечения. Программа учета "Мой Склад". Разработка концептуальной и логической модели "База данных склада автомобильных запчастей". Требования к системе и ER-модель. Аccess как мощное приложение Windows, построение запросов.
курсовая работа [764,7 K], добавлен 10.04.2014Проектирование приложения для базы данных "Оптовый склад" средней сложности с типовым пользовательским интерфейсом. Изучение особенностей ведения учета поставщиков, покупателей, продаж, движения товара на складе. Выборка, удаление таблиц из базы данных.
курсовая работа [424,1 K], добавлен 03.11.2014Задачи учета расчетов с поставщиками. Выбор логической и концептуальной модели базы данных. Проектирование алгоритмов расчёта задолженности по оплате поставок и определения оптимальной заявки. Расчет экономической эффективности внедрения программы.
дипломная работа [478,5 K], добавлен 27.01.2014Рассмотрение создания модели информационной системы с помощью AllFusion Process Modeler 4.1 (Bpwin4.1) в стандарте IDEF0. Описание диаграммы дерева узлов. Анализ создания модели данных склада. Характеристики информационной модели в нотации IDEF1X.
курсовая работа [1,4 M], добавлен 10.04.2015Создание базы данных "Автовокзал" как части информационной системы. Требования к базе данных и этапы ее разработки. Анализ информационных потоков, выбор модели. Входные и выходные данные. Программирование базы данных на языке Borland Delphi 7.0.
курсовая работа [105,8 K], добавлен 16.05.2011Характеристика программы базы данных для хранения и учета материальных ценностей на складе, ее возможности и практическое применение. Процесс создания базы данных на основе реляционной СУБД MS Access. Связь сведений по товарам, поставщикам и покупателям.
курсовая работа [13,8 K], добавлен 29.08.2009