Программа учёта поступления товаров на склад предприятия от поставщиков

Общая характеристика компьютера и программного обеспечения. Создание программы "Учёт поступления товаров на склад предприятия от поставщиков", которая упростила бы работу оператора склада предприятия при поступлении товаров от поставщика. Процесс отладки.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 26.09.2011
Размер файла 1,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

52

Размещено на http://www.allbest.ru/

ТЕМА: Программа учёта поступления товаров на склад предприятия от поставщиков

Содержание

программа склад учет поступление товар

Введение

1.Общая часть

1.1 Характеристика персонального компьютера

1.2 Программное обеспечение персонального компьютера

1.3 Характеристика среды программирования

2. Специальная часть

2.1 Постановка задачи

2.2 Техническое задание

2.3 Описание входной информации

2.4 Описание выходной информации

2.5 Функциональная схема приложения

2.6 Описание программы

2.7 Алгоритмы и их описание

2.8 Инструкция по эксплуатации

2.9 Описание процесса отладки и контрольный пример

3. Заключение

4. Приложения

5. Список использованных сокращений

6. Список литературы

ВВЕДЕНИЕ

Целью данного курсового проектирования является создание программы, которая упростила бы работу оператора склада предприятия при поступлении товаров от поставщика.

Прогресс, достигнутый за последние несколько лет во всех направлениях вычислительной техники привел к значительному расширению области применения компьютеров. Существенной частью современного общества являются разнообразные системы доступа и хранения информации.

Существует множество причин, которые способствуют переводу существующей информации на компьютерную основу.

Одной из самых важных является быстрая обработка полученной информации, ее хранение, и использование. Перевод на компьютерную основу значительно сокращает время для получения необходимой информации, упрощает доступ к ней и введение данных. Заполнение данных ручным способом - это очень рутинный процесс, который занимает очень много времени. При большом количестве поступающих невозможно уследить за правильностью вводимых данных и их обработкой.

Программа «Учёта поступления товаров на склад предприятия от поставщиков» оператору склада, значительно упростить и ускорить свою работу, так как не надо будет заполнять все данные вручную.

1. ОБЩАЯ ЧАСТЬ

1.1 Характеристика персонального компьютера

Данный программный продукт был разработан на персональном компьютере со следующими характеристиками:

· Материнская плата ASUS P4SE

Материнская (системная) плата - это самая большая электронная плата в компьютере. Обычно на ней располагаются основной микропроцессор, оперативная память, кэш-память, шины и постоянная плата (BIOS). Там также располагаются контроллеры - это электронные схемы, управляющие некоторыми устройствами компьютера.

· Процессор Intel Celeron 1800MHz

Сердцевиной материнской платы является микропроцессор. Микропроцессор - самый главный элемент в компьютере, он умеет выполнять сотни различных операций и делает это со скоростью в несколько десятков или даже сотен миллионов операций в секунду. Он представляет собой небольшую электронную схему. Основной характеристикой микропроцессора является тактовая частота, которая указывает скорость выполнения элементарных операций внутри микропроцессора. Чем выше тактовая частота, тем выше производительность микропроцессора. Тактовая частота измеряется в мегагерцах (МГц). Тактовая частота микропроцессора составляет 1800МГц. От производительности этой микросхемы в значительной степени зависит эффективность ПК в целом.

· Оперативная память 640 Mb

Очень важным элементом компьютера является оперативная память. Оперативное запоминающее устройство предназначено для хранения информации, непосредственно участвующей в вычислительном процессе на текущем этапе функционирования ПК. Именно из нее процессор берет программы и исходные данные для обработки, в нее он записывает полученные результаты. Название «оперативная» эта память получила потому, что она работает очень быстро, так что процессору не приходится ждать при чтении данных из памяти или записи в память. Однако содержащиеся в ней данные сохраняются только пока компьютер включен. Часто для оперативной памяти используется обозначение RAM (Random Access Memory, то есть память с произвольным доступом). От количества установленной в компьютере оперативной памяти напрямую зависит, с какими программами можно будет работать на нем. При недостаточном количестве оперативной памяти многие программы либо вовсе не будут работать, либо станут работать крайне медленно.

· Винчестер Western Digital - 800JB (80Gb)

· Винчестер SAMSUNG SV2011 H (20Gb)

Накопители на жестком диске (они же винчестеры) предназначены для постоянного хранения информации, используемой при работе с компьютером. Жесткие диски состоят из нескольких магнитных дисков, закрепленных на оси на небольшом расстоянии друг от друга, в зазорах между ними ходит магнитная головка, она и производит чтение и запись данных. Здесь используется тот же принцип, что и в магнитофоне - магнитная поляризация, разница лишь в том, что используется диски, а не лента. Главными их характеристиками являются: емкость диска (сейчас желательно иметь не менее 20 Гб) и частота вращения - не менее 5400 оборотов в минуту.

· Монитор 17' Samsung SyncMaster 757MB

Монитор (дисплей) предназначен для вывода на экран текстовой и графической информации. Мониторы бывают цветные и монохромные, отличаются друг от друга по размеру (обычно диагональ кинескопа - от 14 до 21 дюйма). В зависимости от назначения мониторы оснащаются разными средствами регулировки, цветокорректировки и т.д. Разные мониторы могут иметь разные разрешения, т.е. количества точек в выводимом изображении по горизонтали и вертикали - от 640*480 точек до 1600*1280 точек. Чем выше разрешение, тем более детальным может быть изображение на экране. Монитор состоит из электронно-лучевой трубки, блока питания и электронного блока управления лучом. Роль дисплея в ряде случаев может выполнять обычный телевизионный приемник. Информация на экране может быть представлена как в знаковой форме (в виде символов, цифр, букв), так и в графической форме (в виде кривых, графиков, изображений и т.п.). Возможности дисплея характеризуются размерами экрана, способностью генерировать цветные изображения и размерами минимального элемента (пикселя), который может быть высвечен на экране. Из комбинаций этих элементов строятся все символы и изображения.

· Видеокарта Nvidia GeForce 6600 128 Mb

Сигналы, которые получает монитор: символы, числа, графика формируются в видеокарте. Таким образом, монитор и видеокарта являются парой, которая должна быть настроена оптимальным образом.

· Pioneer DVR-111D DVD-/CD/+-RW

· ASUS CD-S520/A

Дисковод для компакт-дисков предназначен для считывания специальных компьютерных компакт-дисков, а также (при наличии звуковой карты) проигрывания аудио компакт-дисков. Для обозначения скорости дисковода обычно указывают, во сколько раз в секунду дисковод вращает диск. Скорость передачи 3105.88 Кбайт/с

· Floppy- дисковод

Трехдюймовый дисковод, поддерживающий дискеты емкостью 1,44 Мбайта.

· Мышка Genius ErgoMedia R710 Wireless

При перемещении мыши по столу или иной поверхности на экране ПК соответственно передвигается указатель мыши. Когда необходимо выполнить то или иное действие, например: выполнить пункт меню, на который установлен указатель мыши, пользователь нажимает ту или иную кнопку мыши.

· Клавиатура Genius ErgoMedia R710 Wireless

Предназначена для ввода в компьютер информации от пользователя.

1.2 Программное обеспечение персонального компьютера

Курсовой проект был разработан на ПК, на котором установлена операционная система Windows XP Professional - самая быстрая операционная система из семейства Windows, поддерживающая распределенные приложения, основанную на стандартах систему безопасности, надежная и гибкая в управлении. Это полностью 32 разрядная ОС с приоритетной многозадачностью.

Windows XP объединяет в себе достоинства уже знакомых пользователям операционных систем предыдущих поколений: удобство, простоту установки и эксплуатации ОС семейства Windows 98 и Windows ME, а также надежность и многофункциональность Windows 2000.

Новый интерфейс Microsoft Windows XP позволяет в кратчайшие сроки освоить принципы работы с операционной системой даже тем пользователям, которые ранее никогда не сталкивались с системами семейства Windows.

Применяемые в Windows XP расширенные web-технологии открывают возможность обмена текстовыми и голосовыми сообщениями.

Microsoft Windows XP полностью поддерживает многопользовательский режим работы, причем усовершенствованный механизм разграничения доступа обеспечивает повышенный уровень безопасности хранящихся на дисках секретных данных, а усовершенствованные алгоритмы контроля гарантируют стабильность работы новой версии Windows.

Операционная система Windows XP Professional обеспечивает надежную вычислительную среду, отвечающую потребностям всех бизнес-пользователей.

В операционной системе сокращено число перезагрузок.

Устранена большая часть конфликтных ситуаций, при которых пользователи Windows NT 4.0 и Windows 95/98/ME были вынуждены перезагружать свои компьютеры. Кроме того, во многих случаях теперь не требуется выполнять перезагрузку после установки программного обеспечения. В результате этих действий значительно увеличивается время бесперебойной работы системы.

Сохранив ядро Windows 2000, операционная система Windows XP Professional приобрела обновленный внешний вид. Типичные задачи объединены и упрощены, добавлены новые визуальные подсказки, помогающие пользователю в работе с компьютером. Одним нажатием кнопки администратор или пользователь может сменить обновленный пользовательский интерфейс на классический интерфейс Windows 2000.

Эти действия упрощают выполнение типичных задач, позволяя наиболее полно реализовать возможности системы Windows XP Professional

Средства устранения неполадок позволяют предоставить пользователю и администратору возможности настройки и оптимизации многочисленных функций операционной системы Windows XP Professional, а также устранить возникшие неполадки.

Пользователи приобретают гораздо большую самостоятельность, в результате чего возрастает производительность их труда и сокращается число обращений в службу поддержки.

1.3 Характеристика среды программирования

1.3.1 Visual Basic

Для выполнения курсового проекта использовался язык программирования Visual Basic 6.0.

Visual Basic (VB) - это среда разработки программ, которая позволяет быстро и легко создавать приложения (прикладные программы) для Windows. В нее включено все, что необходимо для создания, модификации, тестирования, корректирования и компиляции создаваемых программ.

Visual Basic - это полноценный язык программирования высокого уровня.

Слово Visual “визуальный” (“наглядный”) означает способ разработки пользовательского интерфейса программы. Еще на этапе создания программы пользователю видно, как будет выглядеть программа в действии. Пользователь сам формирует окна, размещает кнопки, текстовые панели, линейки прокрутки и другие компоненты пользовательского интерфейса подобно тому, как рисуют объекты в графическом редакторе для Windows.

Слово Basic “основной” описывает тип программного кода, который создает пользователь. Программа Visual Basic представляет собой вариант хорошо известного языка программирования.

Получили распространение такие подмножества языка VISUAL BASIC как VB For Applications - встроенный язык написания макросов для MS Office приложений и VB Script - язык для работы в среде WEB-браузера с объектами и элементами HTML.

Visual Basic позволяет создавать прикладные программы, которые могут:

Использовать стандартные элементы пользовательского интерфейса Windows, такие как окна, меню, кнопки, линейки прокрутки и т.п.

Выводить данные на печать при помощи стандартных драйверов принтеров Windows.

Читать графические файлы в форматах *.bmp, *.jpg, *.tif, *.ico, *.wmf и др.

Создавать, читать и записывать текстовые файлы и файлы баз данных.

Взаимодействовать с другими прикладными программами через буфер обмена, DDE (Динамический Обмен Данными) и OLE (Связывание и Встраивание Объектов).

Обращаться к базам данных таких форматов, как SQL, dBase, Microsoft Access и другие.

Использовать элементы управления OCX ActiveX и API-функции.

Взаимодействовать с Интернетом.

Visual Basic - объектно-ориентированный язык программирования. В нем заложены мощные средства для работы с базами данных и, в частности, для создания приложения клиент-сервер.

Существует три разновидности языка Visual Basic:

4 Learning - для начинающих;

4 Professional - для профессионалов;

4 Enterprise - для создания очень сложных приложений.

Последняя версия Visual Basic 6.0 представляет собой интегрированную среду разработки - IDE (Integral Development Environment). Это значит, что в Visual Basic 6.0 интегрирован набор инструментов, облегчающих и ускоряющих процесс разработки готового приложения. Такая реализация языка Visual Basic 6.0 позволяет отнести его к средствам быстрой разработки приложений - RAD (Rapid Application Development) и ставит в один ряд с такими средствами разработки, как Visual C++, Delphi и другими.

С помощью Visual Basic 6.0 можно создавать приложения практически для любой области современных компьютерных технологий: игры, базы данных, мультимедиа, бизнес -приложения. При этом приложения могут быть как простыми, так и сложными - это зависит от поставленной задачи.

Приложения на Visual Basic представляют собой набор файлов, которые хранятся в одной папке, называемой «Проектом». В нем всегда есть два файла:

Ё *.vbp - visual basic project - файл проекта. Он содержит список всех файлов проекта;

Ё *.frm - файл формы, в котором хранится программный код.

Программа на Visual Basic состоит из отдельных процедур обработки событий, каждая из которых выполняется отдельно друг от друга при наступлении определенного события (действие, происходящее с формой или элементом управления, которое автоматически распознается из заранее определенного набора событий).

В Visual Basic 6.0 используются все самые современные методы программирования:

модель составных объектов COM (Component Object Model);

распределенная модель составных объектов DCOM (Distributed Component Object Model);

технология программных компонентов Active X и другие.

С помощью Visual Basic можно писать программы для системы Windows, а также можно создавать приложения типа клиент/сервер и надежные приложения управления базами данных.

Создать приложение в Visual Basic- значит разработать его не только для Windows, но и с помощью Windows создать его таким, как Windows. Это и есть характерная черта Visual Basic.

Используя Visual Basic, вы сможете создать программы для компьютеров, предназначенные для решения конкретных прикладных задач. Одним из основных преимуществ Visual Basic является возможность быстрого создания работоспособных приложений.

Система программирования Visual Basic позволяет создавать обьекты управления, задавать и изменять их свойства, а затем подключать соответствующий код. Методика программирования на Visual Basic заключается в создании сначала таких объектов управления и контроля, как окна, пиктограммы и меню, а затем написания текста процедур, вызывающих каждый из этих объектов.

ADO обеспечивает взаимодействие с базами данных различных типов из программ Visual Basic, компонентов ActiveX и Active Server Pages.

Объекты данных ActiveX (ActiveX Data Objects, или ADO) - это новейший метод доступа к данным, разработанный фирмой Microsoft. Технология ADO призвана заменить DAO (Data Access Objects), оригинальную методику доступа к данным в Visual Basic, и RDO (Remote Data Objects), более скоростную альтернативу DAO. Как и любая из предшествующих технологий, ADO обеспечивает несколько вариантов доступа к данным.

ADO обеспечивает средства, с помощью которых программа получает доступ к базе данных. Объекты ADO подключаются к базе данных посредствам провайдера OLE DB. OLE DB представляет собой новый, разработанный Microsoft, низкоуровневый интерфейс, обеспечивающий доступ к множеству различных типов данных. Существуют провайдеры OLE DB как для традиционных баз данных (вроде SQL Server), так и для других источников данных, вроде сервера электронной почты. Провайдер OLE DB представляет доступ к этим базам данных данным объектам ADO, которые, в свою очередь, позволяют подключаться к данным из прикладных программ, как описано ниже:

Элементы управления данными. С помощью элемента управления Data можно элементарно подключаться к базам данным: достаточно настроить несколько его свойств и «связать» с ним некоторые другие элементы управления, которые будут реально отображать информацию.

Объектный интерфейс. Подключив к проекту библиотеку ADO, вы получаете в свое распоряжение новый набор объектов. При этом данными можно манипулировать непосредственно из кода (без использования элемента управления) или комбинировать объекты с элементами управления данными.

В диалоговом окне References будет предоставлено два варианта библиотеки ADO: Microsoft ActiveX Data Objects 2.5 Library и Microsoft ActiveX Data Objects Recordset 2.5 Library. Для применения объектов следует подключить к проекту необходимые библиотеки.

Библиотека Microsoft ActiveX Data Objects 2.5 Library обеспечивает полный набор объектов. Во второй библиотеке - Microsoft ActiveX Data Objects Recordset 2.5 Library находится только объект Recordset, который применяется для работы с удаленными отключенными наборами записей.

1.3.2 Microsoft Access

Для разработки программы использовалась СУБД Microsoft Access - это система управления базами данных (СУБД), предназначенная для создания и обслуживания баз данных, обеспечения доступа к данным и их обработки.

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

Microsoft Access объединяет сведения из разных источников в одной реляционной базе данных. Создаваемые формы, запросы и отчеты позволяют быстро и эффективно обновлять данные, получать ответы на вопросы, осуществлять поиск нужных данных, анализировать данные, печатать отчеты, диаграммы и почтовые наклейки.

В базе данных сведения из каждого источника сохраняются в отдельной таблице. При работе с данными из нескольких таблиц устанавливаются связи между таблицами.

Для поиска и отбора данных, удовлетворяющих определенным условиям, создается запрос. Запросы позволяют также обновить или удалить одновременно несколько записей, выполнить встроенные или специальные вычисления.

Для просмотра, ввода или изменения данных прямо в таблице применяются формы. Форма позволяет отобрать данные из одной или нескольких таблиц и вывести их на экран, используя стандартный или созданный пользователем макет.

Для анализа данных или распечатки их определенным образом используется отчет.

Access имеет для всех приложений Microsoft Windows удобный графический интерфейс, ориентированный на комфортную работу пользователя. Для работы с таблицами базы данных и другими объектами Access предоставляет многочисленные команды меню и панели инструментов. Поскольку интерфейс приложений прост, пользователю требуется меньше времени на освоение приложения.

2. СПЕЦИАЛЬНАЯ ЧАСТЬ

2.1 Постановка задачи

Предприятие заключает договоры с поставщиками на поставку определённых товаров по определённой цене в заданном количестве. Каждый договор имеет свой уникальный номер. В договоре указывается информация о поставщике, о товаре, его количестве и цене за единицу, а так же плановая дата поставки. Предприятие переводит указанную сумму на расчётный счёт поставщика и отправляет ему счёт-фактуру. С этого момента поставщик должен отправить товары в указанный срок. Если этого не происходит, то поставщик платит пенни, которые составляют 3% от стоимости товаров за каждый просроченный день.

В момент получения товаров на склад оператор склада проверяет товары, и отмечает в счет-фактуре, что товары получил в указанном количестве, ставит дату получения товаров, и свою подпись.

Целью курсового проектирования является разработка программы, которая может максимально автоматизировать учёт поступления товаров на склад предприятия от поставщиков.

В программе необходимо предусмотреть просмотр на экране справочной информации о поставщиках, о товарах и о договорах, а так же информации о поставках, о не выполненных или выполненных поставках, обеспечить возможность просмотра информации о договорах или о поставках для выбранного из списка поставщика или № договора, уплаченных и неуплаченных суммах пенни.

Приложение должно обеспечивать заполнение справочников товаров, поставщиков, договоров, добавление информации о приходе товаров.

В программе необходимо обеспечить следующие виды поиска:

· справочные данные на поставщиков

· характеристик товаров

· реквизитов договоров на поставку

Выходная информация, формируемая в результате работы программы, должна быть представлена в следующих формах:

· отчёт о поставках - выводится информация обо всех поставках за определённый интервал времени

· отчёт о выполненных договорах - выводится информация о договорах, поставки по которым выполнены в полном объёме

· отчёт о невыполненных договорах - выводится информация о договорах, поставки по которым выполнены не в полном объёме или вообще не выполнены

· отчёт о просроченных поставках - выводится информация о поставках, товары по которым прибыли не в полном объёме либо с опозданием

· отчёт о выполненных поставках - выводится информация о поставках, товары по которым прибыли в полном объёме

· отчёт о пенни - выводится информация о договорах, поставщики по которым должны уплатить пенни, с указанием суммы пенни и номера договора.

2.2 Описание входной информации

В результате анализа предметной области была спроектирована база данных, содержащая следующие таблицы

1. dogovora (Договора)

2. postavwiki (Поставщики)

3. tovari (Товары)

4. uchet_dogovorov (Учёт договоров)

5. uchet_postavok (Учёт поставок)

6. ed_izm (Единицы измерения)

7. tab1 (Пользователи и права)

Схема связи таблиц приведена на рисунке 1.

Таблица 1. Описание полей таблицы «Договора»

Наименование поля

Имя поля

Тип

Длина

Дополнительные условия

№ записи

nomer_zap

Счетчик

Длинное целое

Индексированное поле (Совпадения не допускаются)

№ договора

nomer_dogovora

Числовой

Длинное целое

Индексированное поле (Совпадения не допускаются)

Код поставщика

kod_post

Числовой

Длинное целое

Таблица 2. Описание полей таблицы «Поставщики»

Наименование поля

Имя поля

Тип

Длина

Дополнительные условия

Код поставщика

kod_post

Счетчик

Длинное целое

Индексированное поле (Совпадения не допускаются)

Наименование поставщика

name_post

Текстовый

255

Адрес

adres

Текстовый

50

Телефон

tel

Текстовый

50

Расчётный счёт

rasch_shet

Текстовый

50

Таблица 3. Описание полей таблицы «Товары»

Наименование поля

Имя поля

Тип

Длина

Дополнительные условия

Код товара

kod_tovara

Счетчик

Длинное целое

Индексированное поле (Совпадения не допускаются)

Наименование товара

name_tovara

Текстовый

50

Упаковка

upakovka

Логический

-

Единицы измерения

ed_izm

Текстовый

50

Таблица 4. Описание полей таблицы «Учёт договоров»

Наименование поля

Имя поля

Тип

Длина

Дополнительные условия

№ записи

nomer_zap

Счетчик

Длинное целое

Индексированное поле (Совпадения не допускаются)

№ договора

nomer_dogovora

Числовой

Длинное целое

Код товара

kod_tovara

Числовой

Длинное целое

Цена

cena

Числовой

Длинное целое

Количество

kol_vo

Числовой

Длинное целое

Дата поставки

data_postavki

Дата/время

-

Таблица 5. Описание полей таблицы «Учёт поставок»

Наименование поля

Имя поля

Тип

Длина

Дополнительные условия

№ записи

nomer_zap

Счетчик

Длинное целое

Индексированное поле (Совпадения не допускаются)

№ договора

nomer_dogovora

Числовой

Длинное целое

Индексированное поле (Допускаются совпадения)

Код товара

kod_tovara

Числовой

Длинное целое

Индексированное поле (Допускаются совпадения)

Количество

kol_vo

Числовой

Длинное целое

Дата прихода

data_prihoda

Дата/время

-

Таблица 6. Описание полей таблицы «Единицы измерения»

Наименование поля

Имя поля

Тип

Длина

Дополнительные условия

Код единицы

kod_ed

Счетчик

Длинное целое

Индексированное поле (Совпадения не допускаются)

Наименование единицы

name_ed

Текстовый

255

Таблица 7. Описание полей таблицы «Пользователи и права»

Наименование поля

Имя поля

Тип

Длина

Дополнительные условия

№ записи

nomer_zap

Счетчик

Длинное целое

Индексированное поле (Совпадения не допускаются)

Имя пользователя

username

Текстовый

16

Пароль

password

Текстовый

16

Администратор

admin

Логический

-

Только чтение

read_only

Логический

-

Рис. 1 Схема связи таблиц БД

2.3 Описание выходной информации

Выходная информация представлена в виде следующих отчетов:

1. отчёт о договорах

2. отчёт о поставках

3. отчёт о сумах пенни

Ниже приведены описания полей отчетов.

Таблица 6. Описание полей отчета о договорах

Наименование поля

Имя поля

Тип

Способ получения

№ договора

nomer_dogovora

Числовой

Таблица uchet_dogovorov

Наименование товара

name_tovara

Текстовый

Таблица tovari

Кол-во поставки

Sum-kol_vo

Числовой

Sum(uchet_postavok.kol_vo)

Кол-во по договору

kol_vo

Числовой

Таблица uchet_dogovorov

Таблица 7. Описание полей отчета о поставках

Наименование поля

Имя поля

Тип

Способ получения

№ договора

nomer_dogovora

Числовой

Таблица uchet_postavok

Наименование товара

name_tovara

Текстовый

Таблица tovari

Количество

kol_vo

Числовой

Таблица uchet_postavok

Цена

cena

Числовой

Таблица uchet_dogovorov

Дата прихода

data_prihoda

Дата/время

Таблица uchet_postavok

Таблица 8. Описание полей отчета о поставках

Наименование поля

Имя поля

Тип

Способ получения

№ договора

nomer_dogovora

Числовой

Таблица uchet_postavok

Наименование товара

name_tovara

Текстовый

Таблица tovari

Количество

kol_vo

Числовой

Таблица uchet_postavok

Цена

cena

Числовой

Таблица uchet_dogovorov

Дата прихода

data_prihoda

Дата/время

Таблица uchet_postavok

Дата поставки

data_postavki

Дата/время

Таблица uchet_dogovorov

Сумма

summa

Числовой

uchet_dogovorov.kol_vo*uchet_dogovorov.cena

Пенни

penni

Числовой

((uchet_dogovorov.kol_vo*uchet_dogovorov.cena)*0.03)*DateDiff('d',uchet_dogovorov.data_postavki.uchet_postavok.data_prihoda])

2.4 Функциональная схема приложения

На рисунке 2 представлена функциональная схема приложения.

Рис.2. Функциональная схема приложения

В приложении осуществляются функции работы с записями (добавление, удаление, редактирование записей) справочников, а так же учётных таблиц. Предусмотрены функции просмотра дополнительной информации о поставках, договорах и суммах пенни. Осуществляется просмотр и печать отчётов с различными настройками.

2.5 Описание программы

Программа «Автоматизированная система учёта поставок товаров на склад предприятия от поставщиков» рассчитана на работу под управлением операционной системы Windows 9x, NT, 2000, XP. Программа написана на языке программирования Visual Basic 6.0. Она состоит из 30 файлов: 26 форм (*.frm), 1 модуль (*.bas), 3 дизайнер-модуля (*.dsr). В скомпилированном виде, программа занимает 276 Кб на жёстком диске, не считая объёма БД. В оперативной памяти занимает от 6 110 Кб до 13 610 Кб в зависимости от количества открытых форм приложения.

В ходе разработки данного программного продукта было создано 6 процедур.

Файл Module1.bas содержит 6 глобальных процедур:

1. usersList() - выводит список пользователей в форме frmUsers из таблицы tab1

2. TovariList() - выводит записи из таблицы tovari в форме frmTovari

3. PostavshikiList() - выводит записи из таблицы postavwiki в форме frmPostavshiki

4. DgovoriList() - выводит записи из таблицы dogovora с подключением справочников в форме frmDogovori

5. DgovoriUchList() - выводит записи из таблицы uchet_dogovorov с подключением справочников в форме frmDogovoriUch

6. PostavkiList() - выводит записи из таблицы uchet_postavok с подключением справочников в форме frmPostavki

Файл frm_MAIN.frm содердит 15 процедур обработки событий:

1. mnuCalc_Click() - открывает программу «Калькулятор»

2. mnuCascade_Click() - окна каскадом

3. mnuIcons_Click() - выстраивает окна по иконкам

4. mnuDogOtch_Click() - открывает форму frmDogovoriOtch

5. mnuDogovori_Click() - открывает форму frmDogovori

6. mnuDogovoriUch_Click() - открывает форму frmDogovoriUch

7. mnuDop_Click() - открывает форму frmZap

8. mnuPenniOth_Click() - открывает отчёт о суммах пенни

9. mnuPostavki_Click() - открывает форму frmPostavki

10. mnuPostavshiki_Click() - открывает форму frmPostavshiki

11. mnuPostOtch_Click() - открывает форму frmPostOtch

12. mnuTile_Click() - окна мозаикой

13. mnuTovari_Click() - открывает форму frmTovari

14. mnuUser_Click() - открывает форму frmUsers

15. Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) - обрабатывает щелчок мышью по панели инструментов.

Файл frmDogovoraZap.frm содердит 4 процедуры обработки событий:

1. Form_Load() - загрузка формы. Создаёт набор записей и заполняет DataGrid

2. Form_Unload(Cancel As Integer) - выгрузка формы. Уничтожает наборы записей

3. Command1_Click() - выводит записи из таблицы dogovora со справочниками

4. comPostawshiki_Click() - создаёт фильтр для набора записей по поставщику

Файл frmDogovori.frm содержит 2 процедуры обработки событий:

1. Command1_Click(Index As Integer) - процедура нажатия кнопки. Используется для добавления, редактирования, удаления записей и закрытия формы

2. Form_Load() - Вызывает процедуру DgovoriList из модуля

Файл frmDogovoriOtch.frm содержит 3 процедуры обработки событий:

1. Command1_Click() - формирует и выводит отчёт о договорах

2. Command2_Click() - уничтожает наборы записей и выгружает форму

3. Form_Load() - создаёт набор записей из таблицы uchet_postavok

Файлы frmDogovoriUch.frm, frmTovari.frm, frmPostavshiki.frm и frmPostavki.frm предназначены для просмотра записей соответствующих таблиц. Они содержат по 3 процедуры обработки событий:

1. Command1_Click(Index As Integer) - процедура нажатия кнопки. Используется для добавления, редактирования, удаления записей и закрытия формы

2. Form_Load() - вызывает соответствующую процедуру из модуля

3. txtFind_Change() - устанавливает фильтр для набора записей

Файлы frmEditDogovor.frm, frmEditDogogorUch.frm, frmEditPostavka.frm, frmEditPostavshik.frm и frmEditTovar.frm предназначены для редактирования записей в соответствующей таблице. Они содержат по 3 процедуры обработки событий:

1. CancelButton_Click() - уничтожает наборы записей и выгружает форму

2. Form_Load() - создаёт набор записей и выводит текущую запись

3. OKButton_Click() - обновляет данные в соответствующей таблице

Файл frmLogin.frm содержит 3 процедуры обработки событий:

1. Form_Load() - устанавливает подключение к БД и создаёт набор записей

2. cmdOK_Click() - проверяет имя пользователя и пароль

3. cmdCancel_Click() - завершает программу

Файлы frmNewDogovor.frm, frmNewDogovorUch.frm, frmNewPostavka.frm, frmNewPostavshik.frm, frmNewTovar.frm и frmNewUser.frm предназначены для добавления записей в соответствующую таблицу. Они содержат по 2 процедуры обработки событий:

1. CancelButton_Click() - выгружает форму

2. OKButton_Click() - добавляет запись в соответствующую таблицу

Файл frmPenni.frm содержит 1 процедуру обработки событий: Form_Load(). Она создаёт набор записей, считает пенни и выводит эти данные в DataGrid.

Файл frmPosstavkiZap.frm содержит 3 процедуры обработки событий:

1. Form_Load() - создаёт набор записей из таблицы uchet_postavok

2. Command1_Click(Index As Integer) - процедура нажатия кнопки. Используется для фильтрации набора записей о договорах

3. Form_Unload(Cancel As Integer) - уничтожает наборы записей и выгружает форму

Файл frmPostOtch.frm содержит 3 процедуры обработки событий:

1. Form_Load() - создаёт набор записей из таблицы uchet_postavok

2. Command1_Click() - формирует и выводит отчёт о поставках

3. Command2_Click() - уничтожает наборы записей и выгружает форму

Файл frmUsers.frm содержит 4 процедуры обработки событий:

1. Command1_Click() - уничтожает наборы записей и выгружает форму

2. Command2_Click() - открывает форму frmNewUser

3. Command3_Click() - удаляет текущую запись из таблицы tab1

4. Form_Load() - создаёт набор записей и вызывает процедуру usersList из модуля

Файл frmZap.frm содержит 3 процедуры обработки событий:

1. Command1_Click() - открывает форму frmPosstavkiZap

2. Command2_Click() - открывает форму frmDogovoraZap

3. Command3_Click() - открывает форму frmPenni

Файл frmEd_izm.frm содержит 2 процедуры обработки событий:

1. Form_Load() - вызывает процедуру Ed_izmList из модуля

2. Command1_Click(Index As Integer) - процедура нажатия кнопки. Используется для добавления или удаления записи и для закрытия формы

Файл frmEd_izm.frm содержит 2 процедуры обработки событий:

1. Form_Load() - устанавливает соединение с БД и создаёт набор записей rst

2. cmdOK_Click() - процедура обработки события нажатия кнопки OK, проверяет имя пользователя и пароль

Логическая схема связи файлов приложения представлена на рисунке 3

Рис.3. Логическая схема связи файлов приложения

2.6 Алгоритмы и их описание

Алгоритм процедуры TovariList() из файла Module1.bas

Рис.4. Алгоритм процедуры TovariList() из файла Module1.bas

Алгоритм процедуры cmdOK_Click() из файла frmLogin.frm

Алгоритм процедуры OKButton_Click () из файла frmNewTovar.frm

--------[ добавить

Рис. 7. Алгоритм процедуры Command1_Click(Index As Integer) из файла frmTovari.frm.

2.7 Инструкция по эксплуатации

Для запуска программы необходимо в меню «Пуск» выбрать «Все программы», а затем пункт меню «Учёт поставок товаров» и щёлкнуть на ярлыке программы.

Рис.8. Запуск программы

После этого появится запрос авторизации пользователя.

Рис.9. Запрос авторизации пользователя

Если имя пользователя и пароль введены правильно, то появится главное окно приложения. Оно содержит операционное меню со следующими пунктами: Справочники, Учёт, Отчёты, Сервис, Окно.

В меню Справочники представлены Справочник товаров, Справочник поставщиков, Справочник договоров, Справочник единиц измерения. Все они выглядят, как показано на рисунке 7.

Рис. 10. Справочник товаров

Все формы справочников содержат соответствующую таблицу и кнопки для добавления, редактирования, удаления записей, а так же кнопку закрытия формы.

Рис. 11. Добавление товара в справочник

Рис. 12. Редактирование данных о товаре

Учётные таблицы представлены формами «Учёт договоров» и «Поставки».

Рис. 13. Форма Учёт поставок

В меню Учёт есть пункт Дополнительные формы. Это формы Поставки, Договора и Пенни. Форма Пенни показывает договора, по которым поставщики не выполнили обязательства в срок и должны выплатить пенни (рис. 11).

Рис. 14. Информация о суммах пенни

Форма Поставки предназначена для просмотра отдельно списков выполненных и не выполненных поставок (рис. 12).

Рис. 15. Информация о поставках

С помощью формы Договора пользователь сможет вывести список договоров по каждому поставщику в отдельности (рис. 13).

Рис. 16. Информация о договорах

Пункт меню отчёты содержит подпункты Отчёт о поставках, Отчёт о договорах и Отчёт о пенни, которые предназначены, для вывода на экран или на печать соответствующих отчётов.

С помощью подпункта Пользователи и права, мню Сервис, пользователь имеющий права администратора может удалить или добавить пользователя (рис. 14).

Рис. 17. Форма Пользователи и права

Рис. 18. Добавление нового пользователя

2.8 Описание процесса отладки и контрольный пример

При отладке и выполнении программы возникли ошибки 4 типов:

· синтаксические (ошибки, связанные с неправильным синтаксисом оператора, например If без Then).

· ошибки в структуре программы, например, For без Next. По сути, это синтаксические ошибки, но Visual Basic обрабатывает ошибки этого типа несколько иначе.

· Ошибки, возникшие во время выполнения программы (это ошибки, проявляющиеся во время работы программы).

· Логические ошибки (ошибки такого типа самые каверзные, программа выполняет вычисления, но выдаёт неправильный результат).

Отладку программы можно поделить на 3 этапа:

· ошибка компиляции

· ошибки выполнения

· логические ошибки

Ошибки компиляции возникают, если в Visual Basic не может интерпретировать код, например, некорректный вод числа скобок, неправильное прописание оператора и так далее.

Ошибки выполнения возникают после успешной компиляции ее завершения. Причины: некорректный вод данных, например, требуется ввести число, а пользователь вводит строковые значения; некорректное вычисление, например, деление на 0. В этом случае на экране отображается диалоговое окно с сообщением операции номере ошибки.

Логические ошибки труднее всего обнаружить и устранить. Эти ошибки не приводят к прерыванию и выполнению ошибки. Визуально все идет гладко и выглядит так, как будто программа идет правильно. Локализация логических ошибок связана с тщательным анализом алгоритма программы с привлечением средств отладки.

Редактор Visual Basic позволяет осуществлять пошаговое выполнение программы. Такой режим можно задать при помощи меню Debug. При выполнении программы в пошаговом режиме используется 4 команды:

· Debug/StepInto -осуществляется последовательную шаг за шагом отладку программы, включая процедуры;

· Debug/StepOpen- осуществляется последовательную шаг за шагом отладку всей программы, не заходя в код программы. Если встречается процедура, то она выполняет всю процедуру целиком.

· Debug/StepOut - завершение выполнения текущей процедуры и останавливается на следующей инструментальной программе, откуда процедура была вызвана.

· Debug/Run to Cursor -выполняет программу инструкции до места, где стоит курсор.

При написании данной программы возникали ошибки, которые впоследствии были устранены.

Рис. 19. Указан не существующий индекс для массива элементов

Рис. 20. Ошибка несоответствия типов

Рис. 21. Попытка открыть набор записей в то время как он уже открыт

Рис. 22. Ошибка синтаксиса в запросе SQL (не верно указан оператор)

Рис. 23. Указатель набора записей вышел за границы набора

Рис. 24. Задано неверное значение свойства

Для проверки правильности работы программы необходим контрольный пример. Для его выполнения необходимо выполнить следующие действия:

1. Добавить товар в Справочнике товаров (рис. 22).

Рис. 25. Добавление товара

2. После нажатия кнопки OK Новый товар появится в Справочнике товаров, а следовательно в таблице tovari (рис. 23).

Рис. 26. Справочник товаров и таблица tovari (в СУБД Access) с новой записью

3. Так же добавить поставщика через Справочник поставщиков (рис. 24)

Рис. 27. Добавление поставщика

4. Затем можно убедиться в том что добавление прошло успешно (рис. 25).

Рис. 28. Справочник поставщиков и таблица postavwiki (в СУБД Access) с новой записью

5. Добавить договор для нового поставщика через Справочник договоров (рис. 26).

Рис. 29. Добавление договора для поставщика ОАО «Заря»

6. Убедиться в том, что договор добавлен (рис. 27)

Рис. 30. Справочник договоров и таблица dogovora (в СУБД Access) с новой записью

7. Добавить для нового договора поставку товара через форму Учёт договоров (рис. 28)

Рис. 31. Добавление реквизитов для договора

8. Проверить что бы эта запись появилась на форме Учёт договоров и в таблице uchet_dogovorov (рис. 29)

Рис. 32. Форма Учёт договоров и таблица uchet_dogovorov (в СУБД Access) с новой записью

9. Добавить запись о приходе товара. Дату фактического прихода нужно сделать больше чем дату поставки указанную в договоре, к примеру, на два дня (рис. 30)

Рис.33. Добавление записи поставке

10. Проверить, что запись появилась на форме Поставки и в таблице uchet_postavok (рис. 31)

Рис. 34. Форма Учёт поставок и таблица uchet_ postavok (в СУБД Access) с новой записью

11. Теперь можно убедиться, что просроченная поставка отображается на форме Пенни (рис. 32)

Рис. 35. Новая запись на форме Пенни

Для расчёта пени необходимо цену товара умножить на количество, найти три процента от полученной стоимости и умножить это число на количество просроченных дней (в данном примере - два). Выполним эти расчёты вручную:

100*200=20000 - стоимость

20000*0,03=600 - 3% от стоимости

600*2=1200 - сумма пенни

Поскольку результаты совпадают значит приложение работает верно

12. Чтобы окончательно убедиться что приложение работает нормально можно проверить отчёт о пенни. Там появится соответствующая запись (рис. 33)

Рис. 36. Отчёт о суммах пенни с новой записью

Вывод: Проведенный контрольный пример позволяет сделать вывод, что программа функционирует правильно.

2.9 Обработка ошибок в программе

Запрос на подтверждение удаления

Во избежание нежелательных удалений в информационной системе предусмотрено выводить запрос на подтверждение удаления. При удалении товара из справочника появиться диалоговое окно с подтверждением удаления (рис. 34).

Рис. 37. Запрос с подтверждением удаления

При добавлении данных выполняется проверка на пустые значения, а так же на некорректные значения, например, если пользователь вводит в поле цена не числовое значение. В таких ситуациях программа выдаёт сообщение об ошибке (рис. 35).

Рис. 38. Сообщение о некорректности введённых данных

При добавлении или редактировании записей в справочнике договоров если задан повторяющийся номер договора, то программа сообщает об этом и просит ввести другой номер договора (рис. 36).

Рис. 39. Сообщение о повторяющемся номере договора

3. ЗАКЛЮЧЕНИЕ

В процессе разработки курсового проекта был создан программный продукт «Программа учёта поступления товаров на склад предприятия от поставщиков», который обладает следующими функциональными возможностями:

ь Учёт договоров на поставку

ь Учёт поставщиков и товаров

ь Учёт поставок товаров

ь Просмотр и печать списков выполненных и не выполненных договоров

ь Расчёт сумм пенни по не выполненным договора

4. ПРИЛОЖЕНИЯ

1. Приложение 1 - Таблица «Договора»

2. Приложение 2 - Таблица «Поставщики»

3. Приложение 3 - Таблица «Товары»

4. Приложение 4 - Таблица «Учёт договоров»

5. Приложение 5 - Таблица «Учёт поставок»

6. Приложение 6 - Таблица «Единицы измерения»

7. Приложение 7 - Таблица «Пользователи и права»

8. Приложение 8 - Отчёт о договорах

9. Приложение 9 - Отчёт о поставках

10. Приложение 10 - Отчёт о сумах пенни

11. Приложение 11 - Программный код файла Module1.bas

12. Приложение 12 - Программный код файла frmTovari.frm

13. Приложение 13 - Программный код файла frmNewTovar.frm

14. Приложение 14 - Программный код файла frmEditTovar.frm

15. Приложение 15 - Программный код файла frmLogin.frm

16. Приложение 16 - Программный код файла frm_MAIN.frm

17. Приложение 17 - Программный код файла frmDogovoraZap.frm

18. Приложение 18 - Программный код файла frmPostOtch.frm

Приложение 1 - Таблица «Договора»

dogovora

nomer_zap

nomer_dogovora

kod_post

4

111

11

5

121

10

8

131

12

14

4344

10

16

12

5

Приложение 2 - Таблица «Поставщики»

postavwiki

kod_post

name_post

adres

tel

rasch_shet

5

ЗАО "Грей"

Типанова 11

(812)584 8745

78787874

10

ООО "СиктПлюс"

Разъезжая 17

(812)554 4585

432424

11

ОАО "Арт"

пл. Мира 5

(212)465 4545

34343

12

ОАО "Заря"

пр. Космонавтов 11

(812)325 8748

12547885441

Приложение 3 - Таблица «Товары»

tovari

kod_tovara

name_tovara

upakovka

kod_ed

20

cola

Да

4

21

cake

Да

2

22

reds

Нет

3

24

Хлеб

Нет

1

25

Товар1

Да

5

26

Новый товар

Да

1

Приложение 4 - Таблица «Учёт договоров»

uchet_dogovorov

nomer_zap

nomer_dogovora

kod_tovara

cena

kol_vo

data_postavki

8

111

20

20,00р.

100

18.03.2007

9

121

21

20,00р.

100

18.03.2007

12

131

26

100,00р.

200

13.03.2007

Приложение 5 - Таблица «Учёт поставок»

uchet_postavok

nomer_zap

nomer_dogovora

kod_tovara

kol_vo

data_prihoda

4

111

20

20

18.03.2007

5

121

21

30

20.03.2007

6

111

20

80

18.03.2007

7

131

26

200

15.03.2007

Приложение 6 - Таблица «Единицы измерения»

ed_izm

kod_ed

name_ed

1

ящ

2

шт

3

кор

4

литр

5

кг

Приложение 7 - Таблица «Пользователи и права»

tab1

nomer_zap

username

password

admin

read_only

24

admin

123

Да

Нет

25

user1

1

Нет

Нет

26

user2

2

Нет

Да

Приложение 8 - Отчёт о договорах (выполненные договора)

Приложение 8 - Отчёт о договорах (невыполненные договора)

Приложение 9 - Отчёт о поставках

Приложение 10 - Отчёт о сумах пенни

Приложение 11 - Программный код файла Module1.bas

Public cnn As ADODB.Connection

Public cmd As ADODB.Command

Public rst, rstUsers, rstPostavshiki, rstDogovori, rstDogovoriUch, rstPostavki, rstEd_izm As ADODB.Recordset

Public pass, login, user, otchPostavki As String

Public tovar_edit, postavshik_edit, dogovor_edit, dogovorUch_edit, postavka_edit As Integer

Public Sub usersList()

cmd.CommandText = "SELECT username, admin, read_only FROM tab1"

Set rstUsers = cmd.Execute

With frmUsers.MSFlexGrid1

.Col = 0

.Text = "Имя пользователя"

.CellFontBold = True

.Col = 1

.Text = "Права"

.CellFontBold = True

.ColWidth(0) = 2200

.ColWidth(1) = 2200

End With

Do While rstUsers.EOF = False

frmUsers.MSFlexGrid1.AddItem rstUsers(0)

frmUsers.MSFlexGrid1.Row = frmUsers.MSFlexGrid1.Rows - 1

If rstUsers(1) = -1 Then frmUsers.MSFlexGrid1.Text = "Администратор"

If rstUsers(2) = -1 Then frmUsers.MSFlexGrid1.Text = "Только чтение"

If rstUsers(1) = 0 And rstUsers(2) = 0 Then frmUsers.MSFlexGrid1.Text = "Стандартный"

rstUsers.MoveNext

Loop

End Sub

Public Sub TovariList()

Set rst = New ADODB.Recordset

With rst

.ActiveConnection = cnn

.CursorType = adOpenKeyset

.CursorLocation = adUseClient

.LockType = adLockPessimistic

.Source = "SELECT tovari.kod_tovara, tovari.name_tovara, tovari.upakovka, ed_izm.name_ed FROM ed_izm INNER JOIN tovari ON ed_izm.kod_ed = tovari.kod_ed"

.Open

End With

Set frmTovari.DataGrid1.DataSource = rst

With frmTovari.DataGrid1

.Columns(0).Visible = False

.Columns(1).Caption = "Наименование товара"

.Columns(2).Caption = "Упаковка"

.Columns(3).Caption = "Единицы измерения"

.Columns(1).Width = 3000

.Columns(2).Width = 2000

.Columns(3).Width = 3000

.Width = frmTovari.Width

End With

If rst.RecordCount = 0 Then

frmTovari.Command1(1).Enabled = False

frmTovari.Command1(2).Enabled = False

Else

frmTovari.Command1(1).Enabled = True

frmTovari.Command1(2).Enabled = True

End If

End Sub

Public Sub PostavshikiList()

Set rstPostavshiki = New ADODB.Recordset

With rstPostavshiki

.ActiveConnection = cnn

.CursorType = adOpenKeyset

.CursorLocation = adUseClient

.LockType = adLockPessimistic

.Source = "SELECT * FROM postavwiki"

.Open

End With

Set frmPostavshiki.DataGrid1.DataSource = rstPostavshiki

With frmPostavshiki.DataGrid1

.Columns(0).Visible = False

.Columns(1).Caption = "Наименование поставщика"

.Columns(2).Caption = "Адрес"

.Columns(3).Caption = "Телефон"

.Columns(4).Caption = "Расчётный счёт"

.Columns(1).Width = 3600

.Columns(2).Width = 2000

.Columns(3).Width = 3000

.Columns(4).Width = 3000

.Width = frmPostavshiki.Width

End With

If rstPostavshiki.RecordCount = 0 Then

frmPostavshiki.Command1(1).Enabled = False

frmPostavshiki.Command1(2).Enabled = False

Else

frmPostavshiki.Command1(1).Enabled = True

frmPostavshiki.Command1(2).Enabled = True

End If

End Sub

Public Sub DgovoriList()

Set rstDogovori = New ADODB.Recordset

With rstDogovori

.ActiveConnection = cnn

.CursorType = adOpenKeyset

.CursorLocation = adUseClient

.LockType = adLockPessimistic

.Source = "SELECT dogovora.nomer_zap, dogovora.nomer_dogovora, postavwiki.name_post FROM postavwiki INNER JOIN dogovora ON postavwiki.kod_post = dogovora.kod_post"

.Open

End With

Set frmDogovori.DataGrid1.DataSource = rstDogovori

With frmDogovori.DataGrid1

.Columns(0).Visible = False

.Columns(1).Caption = "№ договора"

.Columns(2).Caption = "Поставщик"

.Columns(1).Width = 3600

.Columns(2).Width = 2000

.Width = frmDogovori.Width

End With

If rstDogovori.RecordCount = 0 Then

frmDogovori.Command1(1).Enabled = False

Else

frmDogovori.Command1(1).Enabled = True

End If

End Sub

Public Sub DgovoriUchList()

Set rstDogovoriUch = New ADODB.Recordset

With rstDogovoriUch

.ActiveConnection = cnn

.CursorType = adOpenKeyset

.CursorLocation = adUseClient

.LockType = adLockPessimistic

.Source = "SELECT uchet_dogovorov.nomer_zap, uchet_dogovorov.nomer_dogovora, tovari.name_tovara, uchet_dogovorov.cena, uchet_dogovorov.kol_vo, uchet_dogovorov.data_postavki FROM tovari INNER JOIN (dogovora INNER JOIN uchet_dogovorov ON dogovora.nomer_dogovora = uchet_dogovorov.nomer_dogovora) ON tovari.kod_tovara = uchet_dogovorov.kod_tovara"

.Open

End With

Set frmDogovoriUch.DataGrid1.DataSource = rstDogovoriUch

With frmDogovoriUch.DataGrid1

.Columns(0).Visible = False

.Columns(1).Caption = "№ договора"

.Columns(2).Caption = "Товар"

.Columns(3).Caption = "Цена"

.Columns(4).Caption = "Количество"

.Columns(5).Caption = "Дата поставки"

.Columns(1).Width = 1800

.Columns(2).Width = 2000

.Columns(3).Width = 2000

.Columns(4).Width = 2000

.Columns(5).Width = 2000

.Width = frmDogovoriUch.Width

End With

If rstDogovoriUch.RecordCount = 0 Then

frmDogovoriUch.Command1(1).Enabled = False

frmDogovoriUch.Command1(2).Enabled = False

Else

frmDogovoriUch.Command1(1).Enabled = True

frmDogovoriUch.Command1(2).Enabled = True

End If

End Sub

Public Sub PostavkiList()

Set rstPostavki = New ADODB.Recordset

With rstPostavki

.ActiveConnection = cnn

.CursorType = adOpenKeyset

.CursorLocation = adUseClient

.LockType = adLockPessimistic

.Source = "SELECT uchet_postavok.nomer_zap, uchet_postavok.nomer_dogovora, tovari.name_tovara, uchet_postavok.kol_vo, uchet_postavok.data_prihoda FROM tovari INNER JOIN (dogovora INNER JOIN uchet_postavok ON dogovora.nomer_dogovora = uchet_postavok.nomer_dogovora) ON tovari.kod_tovara = uchet_postavok.kod_tovara"

.Open

End With

Set frmPostavki.DataGrid1.DataSource = rstPostavki

With frmPostavki.DataGrid1

.Columns(0).Visible = False

.Columns(1).Caption = "№ договора"

.Columns(2).Caption = "Товар"

.Columns(3).Caption = "Количество"

.Columns(4).Caption = "Дата прихода"

.Columns(1).Width = 1800

.Columns(2).Width = 3600

.Columns(3).Width = 2000

.Columns(4).Width = 2000

.Width = frmPostavki.Width

End With

If rstPostavki.RecordCount = 0 Then

frmPostavki.Command1(1).Enabled = False

frmPostavki.Command1(2).Enabled = False

Else

frmPostavki.Command1(1).Enabled = True

frmPostavki.Command1(2).Enabled = True

End If

End Sub

Public Sub Ed_izmList()

Set rstEd_izm = New ADODB.Recordset

With rstEd_izm

.ActiveConnection = cnn

.CursorType = adOpenKeyset

.CursorLocation = adUseClient

.LockType = adLockPessimistic

.Source = "SELECT * FROM ed_izm"

.Open

End With

Set frmEd_izm.DataGrid1.DataSource = rstEd_izm

With frmEd_izm.DataGrid1

.Columns(0).Visible = False

.Columns(1).Width = 1800

End With

End Sub

Приложение 12 - Программный код файла frmTovari.frm

Private Sub Command1_Click(Index As Integer)

Select Case Index

Case o 'добавить

If user <> "readonly" Then

frmNewTovar.Show vbModal

Else

a = MsgBox("Недостаточно прав для выполнения данной операции", vbExclamation + vbOKOnly)

End If

Case 1 'редактировать

If user <> "readonly" Then

tovar_edit = DataGrid1.Columns(0).CellText(DataGrid1.Bookmark)

frmEditTovar.Show vbModal

Else

a = MsgBox("Недостаточно прав для выполнения данной операции", vbExclamation + vbOKOnly)

End If

Case 2 'удалить

If user <> "readonly" Then


Подобные документы

  • Создание БД для автоматизации поступления товара на склады предприятия. Заполнение справочников и ввод оперативной информации. Формирование отчётов о поступлении товаров. Организация резервного копирования базы данных. Возможности расширения системы.

    курсовая работа [5,2 M], добавлен 08.04.2014

  • Разработка информационной системы складского учета бытовых электроприборов, которая служит для упрощения учета и контроля поступления товаров на склад торговой организации, цен на товары и их изменения, а также позволяет вести учет продаж товара.

    курсовая работа [884,5 K], добавлен 23.10.2011

  • Концептуальная схема базы данных Optov. Выбор средств разработки приложения. Структура его программного обеспечения. Проектирование приложения для учета приема товаров на склад, позволяющего осуществлять удаленный доступ через Internet к базе данных.

    контрольная работа [218,0 K], добавлен 07.08.2011

  • Автоматизация ведения учета товаров в программе "1С: Предприятие". Учет товаров для фирмы, занимающейся куплей-продажей продовольственных товаров. Ввод сведений об организации. Настройка параметров учета. Оформление поступления в организацию товаров.

    дипломная работа [2,0 M], добавлен 02.07.2014

  • Создание программы для составления оптимального плана закупки товара у поставщиков, его реализация с помощью простого и модифицированного симплекс-методов. Проектирование математического обеспечения решения задачи. Описание пользовательского интерфейса.

    курсовая работа [1,2 M], добавлен 21.01.2011

  • Разработка программного обеспечения для предпринимателя, владельца магазинов, которое позволит ему вести учёт продажи товаров в каждом из них, используя язык программирования высокого уровня. Вывод сообщений об ошибках при введения неверных команд.

    курсовая работа [309,9 K], добавлен 02.02.2011

  • Построение моделей деятельности "как есть" (AS–IS) и "как должно быть" (TO–BE) для повышения эффективности учета товаров на складе ООО "ТНТ Трейдинг". Формирование технического задания на создание автоматизированной информационной системы для предприятия.

    курсовая работа [2,5 M], добавлен 12.04.2012

  • Общая характеристика склада как объекта хозяйственной деятельности. Создание диаграммы прецедентов и последовательности. Построение корпоративной диаграммы сотрудничества. Предназначение диаграммы классов и компонентов. Генерация программного кода C++.

    курсовая работа [222,0 K], добавлен 23.06.2011

  • Описание программного, информационного обеспечения спортивного магазина "Мегаспорт". Пути совершенствования действующей системы обработки данных. Разработка программы по учету товаров. Экономическая эффективность внедрения проекта и промышленная экология.

    дипломная работа [2,4 M], добавлен 24.03.2014

  • Технико-экономическая характеристика и организационная структура предприятия. Характеристика существующей системы учёта оборудования у клиентов предприятия. Реализация системы "Учёт и анализ обслуживания компьютерной техники и программного обеспечения".

    дипломная работа [6,2 M], добавлен 08.04.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.