48534 (Разработка базы данных "Отдел сбыта"), страница 2

2016-07-30СтудИзба

Описание файла

Документ из архива "Разработка базы данных "Отдел сбыта"", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48534"

Текст 2 страницы из документа "48534"

где prod - указанная продукция

Запрос 5 - Выводит список организаций с указанного города с указанным общим видом деятельности:

select *

from Organizations

where Address=town and Activity=active,

где town - указанный город, active - вид деятельности организации

Запрос 6 - Выводит все информацию о проданной продукции за раз превышающей указанного количества единиц продукции:

select *

from Sale

where number>=col

где col - количество единиц продукции

Запрос 7 -Выводит информацию о максимальном количестве продукции, проданной за 1 заявку:

select Production_name, MAX (number) as МАХ

from Sale

group by Production_name

Запрос 8 - Выводит список организаций и наименования продукции с наибольшими партиями закупок:

select distinct Organization_name, Production_name, MAX (number) as МАХ

from Sale

group by Production_name,Organization_name


6. Руководство пользователю

При запуске приложения открывается главное окно программы с активной вкладкой "Организации" (рисунок 3). Оно содержит главное меню и четыре вкладки: "Организации", "Продукция", "Продажа" и "Запросы". Каждая вкладка имеет соответствующую названию вкладки таблицу и компонент манипулирования этой таблицей. Для необходимо можно выделить нужную организацию (признаком выделенности является черный треугольник напротив организации, на рисунке выделенным организацией является "Building").

Рисунок 3 - Главное окно программы

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

Рисунок 4 - Окно программы со списком запросов

Четвертая вкладка содержит список запросов (Рисунок 4). Здесь пользователь может выбрать из списка один из предложенных запросов, либо в списке запросов выбрать "создать запрос…", либо в меню Action выбрать Make query. В результате появится диалоговое окно (Рисунок 5), где можно ввести нужные критерии запроса и нажать "ОК". Результат запросов отображается в таблице на вкладке "Запросы".

Рисунок 5 - Окно создания запроса

В меню Action есть команда Show report, после нажатия которой появится окно отчета по запросу (Рисунок 6). Отчет будет содержать информацию запроса, который выбран в списке запросов. Команда Show report доступна не всегда. Отчет предоставляется лишь следующим запросам:

список организаций (указать вид деятельности)

список организаций (указать город и вид деятельности)

максимальные заявки на продукцию

организации с макс числом куп продукции

Рисунок 6 - Окно отчета

Для получения справки об использовании программы пользователю необходимо в меню About выбрать Program…. Появится окно справки программы (Рисунок 7).

Рисунок 7 - Окно справки программы


Заключение

Результатом данного курсового проекта является разработанная база данных "Отдел сбыта", которая включает в себя основную необходимую информацию об организациях, продукции и продажах. Эта информация была упорядочена в таблицы. Система выполняет следующие функции: хранение, добавление, удаление и изменение данных.

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

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


Список используемых источников

  1. Мартин Груббер, "Понимание SQL", Москва, 2003 г

  2. Т. Карпова - Базы данных: модели, разработка, реализация. Питер, 2001

  3. Курс лекций по разработке баз данных, Терлецкая А.М., 2007 г

Приложения

Приложение А Концептуальная модель данных



Приложение Б. Листинг программного кода

Unit1

procedure TForm1. TabControl1Change (Sender: TObject);

begin

case Tabcontrol1. TabIndex of

0: // управление вкладками

begin

DBGrid1. Visible: =true;

DBNavigator1. Visible: =true;

DBGrid2. Visible: =false;

DBNavigator2. Visible: =false;

DBGrid3. Visible: =false;

DBNavigator3. Visible: =false;

DBGrid4. Visible: =false;

ComboBox1. Visible: =false;

end;

1:

begin

DBGrid1. Visible: =false;

DBNavigator1. Visible: =false;

DBGrid2. Visible: =true;

DBNavigator2. Visible: =true;

DBGrid3. Visible: =false;

DBNavigator3. Visible: =false;

DBGrid4. Visible: =false;

ComboBox1. Visible: =false;

end;

2:

begin

DBGrid1. Visible: =false;

DBNavigator1. Visible: =false;

DBGrid2. Visible: =false;

DBNavigator2. Visible: =false;

DBGrid3. Visible: =true;

DBNavigator3. Visible: =true;

DBGrid4. Visible: =false;

ComboBox1. Visible: =false;

end;

3:

begin

DBGrid1. Visible: =false;

DBNavigator1. Visible: =false;

DBGrid2. Visible: =false;

DBNavigator2. Visible: =false;

DBGrid3. Visible: =false;

DBNavigator3. Visible: =false;

DBGrid4. Visible: =true;

ComboBox1. Visible: =true;

end;

end;

end;

procedure TForm1. Exit1Click (Sender: TObject);

begin

Close; закрытие программы

end;

procedure TForm1.comboBox1Change (Sender: TObject);

var

town: string;

prod: string;

price: string;

aktiv: string;

begin

case ComboBox1. ItemIndex of

0: // первый запрос

begin

ADOQuery1. Active: = false;

aktiv: =InputBox ('Введите','Вид деятельности предприятия',aktiv);

aktiv: =Edit1. Text+aktiv+Edit1. Text;

if aktiv<>'' then

ADOQuery1. SQL. Text: = 'select * from Organizations where Activity='+aktiv;

ADOQuery1. Active: = true;

// ------------------report----------------------------------------------

N2. Enabled: =true;

Form3. QRLabel2. Caption: ='Организации';

Form3. QRLabel4. Caption: ='Адрес';

Form3. QRLabel5. Caption: ='Деятельность';

Form3. QRLabel6. Caption: ='Телефон';

Form3. QRLabel7. Caption: ='E-mail';

end;

1: // второй запрос

begin

ADOQuery1. Active: = false;

price: =InputBox ('Введите','Цена за единицу продукции',price);

if (price<>'') or (StrToInt (price) >=1000) then

ADOQuery1. SQL. Text: = 'select * from Productions where Price_for_one>='+price+' order by Production_name';

ADOQuery1. Active: = true;

N2. Enabled: =false;

end;

2: // третий запрос

begin

ADOQuery1. Active: = false;

prod: =InputBox ('Введите','Наименование продукции',prod);

prod: =Edit1. Text+prod+Edit1. Text;

if prod<>'' then

aktiv: =InputBox ('Введите','Количество проданной продукции',aktiv);

if (aktiv<>'') or (StrToInt (aktiv) >0) then

ADOQuery1. SQL. Text: = 'select * from Sale where Production_name='+prod+' and number>='+aktiv;

ADOQuery1. Active: = true;

N2. Enabled: =false;

end;

3: // четвертый запрос

begin

ADOQuery1. Active: = false;

prod: =InputBox ('Введите','Наименование продукции',prod);

prod: =Edit1. Text+prod+Edit1. Text;

if prod<>'' then

ADOQuery1. SQL. Text: = 'select Production_name, Sum (number) as Number_saled from Sale where Production_name='+prod+' group by Production_name';

ADOQuery1. Active: = true;

N2. Enabled: =false;

end;

4: // пятый запрос

begin

ADOQuery1. Active: = false;

town: =InputBox ('Введите','Название города',town);

town: =Edit1. Text+town+Edit1. Text;

if town<>'' then

aktiv: =InputBox ('Введите','Вид деятельности предприятия',aktiv);

aktiv: =Edit1. Text+aktiv+Edit1. Text;

if aktiv<>'' then

ADOQuery1. SQL. Text: = 'select * from Organizations where (Address='+town+') and Activity='+aktiv;

ADOQuery1. Active: = true;

// -------------------------------отчет--------------------------

N2. Enabled: =true;

Form3. QRLabel2. Caption: ='Организации';

Form3. QRLabel4. Caption: ='Адрес';

Form3. QRLabel5. Caption: ='Деятельность';

Form3. QRLabel6. Caption: ='Телефон';

Form3. QRLabel7. Caption: ='E-mail';

end;

5: // шестой запрос

begin

ADOQuery1. Active: = false;

aktiv: =InputBox ('Введите','Количество прод. продукции за одну заявку >=',aktiv);

if aktiv<>'' then

ADOQuery1. SQL. Text: = 'select * from Sale where number>='+aktiv;

ADOQuery1. Active: = true;

N2. Enabled: =false;

end;

6: // седьмой запрос

begin

ADOQuery1. Active: = false;

ADOQuery1. SQL. Text: = 'select Production_name, MAX (number) as MAX from Sale group by Production_name';

ADOQuery1. Active: = true;

// ---------------------------отчет------------------------------------

N2. Enabled: =true;

Form3. QRLabel2. Caption: ='';

Form3. QRLabel4. Caption: ='Продукция';

Form3. QRLabel5. Caption: ='МАХ';

Form3. QRLabel6. Caption: ='';

Form3. QRLabel7. Caption: ='';

end;

7: // восьмой запрос

begin

ADOQuery1. Active: = false;

ADOQuery1. SQL. Text: = 'select distinct Organization_name,Production_name, MAX (number) as MAX from Sale group by Production_name,Organization_name';

ADOQuery1. Active: = true;

// ----------------------------------отчет--------------------------

N2. Enabled: =true;

Form3. QRLabel2. Caption: ='Организации';

Form3. QRLabel4. Caption: ='Продукция';

Form3. QRLabel5. Caption: ='МАХ';

Form3. QRLabel6. Caption: ='';

Form3. QRLabel7. Caption: ='';

end;

8:

begin

Form2. Visible: =true; // создать запрос

end;

end;

end;

procedure TForm1. N6Click (Sender: TObject);

begin

Form2. Visible: =true; // вызов окна создания запросов

end;

procedure TForm1. DataBase1Click (Sender: TObject);

begin

winhelp (Form1. Handle,'Справка. hlp',HELP_Context,1);

end;

procedure TForm1. N2Click (Sender: TObject);

begin

Form3. QuickRep1. Preview; // вызов отчета

end;

end.

Unit 2.

// -----------------------------------создание запросов-------------------------------

procedure TForm2. Button1Click (Sender: TObject);

var

name, sel, from, where: string;

having, group, order: string;

num: integer;

begin

if (Edit1. Text='') or (Edit2. Text='') or (Edit3. Text='') then

ShowMessage ('Заполните поля, отмеченные звездочкой! ')

else

begin

name: =Edit1. Text;

sel: =Edit2. Text;

from: =Edit3. Text;

where: =Edit4. Text;

group: =Edit5. Text;

order: =Edit6. Text;

having: =Edit7. Text;

Form1. ADOQuery1. Active: = false;

if (where='') and (group='') and (order='') then

Form1. ADOQuery1. SQL. Text: = 'select '+sel+' from '+from

else

if (group='') and (order='') then

begin

Form1. ADOQuery1. SQL. Text: = 'select '+sel+' from '+from+' where '+where;

end

else

if (having='') and (order='') then

begin

Form1. ADOQuery1. SQL. Text: = 'select '+sel+' from '+from+' where '+where+

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4144
Авторов
на СтудИзбе
666
Средний доход
с одного платного файла
Обучение Подробнее