Выбрав таблицу "Список контролеров" появляется соответствующая форма, в которой можно редактировать сведения о контролерах.
Выбрав таблицу "Список маршрутов" появляется соответствующая форма, в которой можно редактировать сведения о маршрутах.
Выбрав таблицу "Технический осмотр" появляется соответствующая форма в которой можно редактировать список Технический осмотр.
Выбрав таблицу "список водителей" появляется соответствующая форма, в которой можно редактировать сведения о заказах и вносить информацию о водителях.
Выбрав таблицу "список рейсов" появляется соответствующая форма, в которой можно редактировать сведения о заказах и вносить информацию о рейсах.
При нажатии на это пункт меню появится выпадающий список, из которого можно выбрать один из 5запросов.
Выбрав запрос "Расписание за определенный период времени" появляется соответствующая форма. Этот запрос осуществляет выборку сведений о маршрутах в определенный период. Необходимо задать начало и конец периода и нажать на кнопку «Просмотр».
SQL для этого запроса выглядит следующим образом:
Select M.NAZVAN, R.DATAOTPR from M,R
SQL для кнопки «просмотр» выглядит следующим образом:
Select M.NAZVAN, R.DATAOTPR from M,R' );
where M.NOMER_M=R.NOMER_M and R.DATAOTPR>='+''''+edit1.Text+''''+'
and R.DATAOTPR<='+''''+edit2.text+''''
Выбрав запрос "осуществленные маршруты для определенного артобуса с подсчетом суммарного расстояния" появляется соответствующая форма. Этот запрос осуществляет выборку сведений о маршрутах, осуществленных определенным автобусом.
При вводе модели автобуса и нажатии на кнопку «определенный автобус» формируется таблица данных.
SQL для этого запроса выглядит следующим образом:
Select a.model, nazvan ,prot
from A,V,m,R
where a.NOMER_V=V.NOMER_V and M.NOMER_M=R.NOMER_M and a.NOMER_a=R.NOMER_a
SQL для этого кнопки выглядит следующим образом:
QUERY1.CLOSE;
QUERY1.SQL.CLEAR;
QUERY1.SQL.ADD('Select a.model,nazvan ,prot from A,V,m,R' );
QUERY1.SQL.ADD('where a.NOMER_V=V.NOMER_V and M.NOMER_M=R.NOMER_M and a.NOMER_a=R.NOMER_a and model='+''''+edit1.Text+'''') ;
QUERY1.open;
При нажатии на кнопку «Суммарная протяженность» появляется форма «Суммарное расстояние». Этот запрос осуществляет расчет суммарной протяженности маршрутов, осуществленных каждым автобусом.
SQL для этого запроса выглядит следующим образом:
Select distinct a.model,sum(PROT) from A,V,m,R
where a.NOMER_V=V.NOMER_V and M.NOMER_M=R.NOMER_M and a.NOMER_a=R.NOMER_a group by model
Выбрав запрос "маршруты определенного водителя или контролера" появляется соответствующая форма. Этот запрос осуществляет выборку сведений о маршрутах, осущественных определенным водителем или контролером. Необходимо ввести фамилии и нажать на кнопку «Просмотр».
SQL для этого запроса выглядит следующим образом:
Select M.NAZVAN, R.DATAOTPR, K.FAMILIA , v.familia from M,R,K, v,a
where M.NOMER_M=R.NOMER_M and
K.nomer_k=R.NOMER_K and a.nomer_a=r.NOMER_a and a.nomer_v=a.NOMER_a
and v.familia like :fv and k.familia like :fk
SQL для этого кнопки выглядит следующим образом:
procedure TForm12.Button1Click(Sender: TObject);
begin
QUERY1.CLOSE;
QUERY1.ParamByName('fk').value:=Edit1.Text+'%';
QUERY1.ParamByName('fv').value:=Edit2.Text+'%';
QUERY1.open;
end;
SQL для этого кнопки выглядит следующим образом:
procedure TForm12.FormActivate(Sender: TObject);
begin
QUERY1.CLOSE;
QUERY1.ParamByName('fk').value:='%';
QUERY1.ParamByName('fv').value:='%';
QUERY1.open;
end;
Выбрав запрос "прохождение ТО определенным автобусом" появляется соответствующая форма. Этот запрос осуществляет выборку сведений об автобусе, введенном с клавиатуры. Необходимо ввести модель автобуса и нажать на кнопку «Просмотр».
Результат запроса выглядит следующим образом
SQL для этого запроса выглядит следующим образом:
Select a.model, TECH_OSMOTR.dateto, TECH_OSMOTR.rezult, v.familia from TECH_OSMOTR, v,a
where
TECH_OSMOTR.nomer_v=v.Nomer_v and TECH_OSMOTR.nomer_a=a.nomer_a and a.model like :m
SQL для этого кнопки выглядит следующим образом:
procedure TForm18.Button1Click(Sender: TObject);
begin
form18.query1.close;
form18.QUERY1.ParamByName('m').value:=Edit1.Text+'%';
form18.query1.open;
end;
Select a.model, TECH_OSMOTR.dateto, TECH_OSMOTR.rezult, v.familia from TECH_OSMOTR, v,a
where
TECH_OSMOTR.nomer_v=v.Nomer_v and TECH_OSMOTR.nomer_a=a.nomer_a and v.familia like :f
procedure TForm20.Button1Click(Sender: TObject);
begin
form20.query1.close;
form20.QUERY1.ParamByName('f').value:=Edit1.Text+'%';
form20.query1.open;
end;
Выбрав запрос «Сведения о количестве», можно посмотреть сведения о количестве ТО, проведенных каждым сотрудником.
Запросвыглядитследующимобразом:
Select v.familia, count(v.familia) from TECH_OSMOTR, v,a
where TECH_OSMOTR.nomer_v=v.Nomer_v and TECH_OSMOTR.nomer_a=a.nomer_a
group by v.familia
При нажатии на этот пункт меню появится список, из которого можно выбрать одну из диаграмм.
При выборе первого пункта меню следующая форма. На ней отображается информация о количественном объеме выпуска изделий за определенный период времени (в разрезе мастеров).
Необходимо ввести фамилию мастера и выбрать период. Нажать на кнопку «Просмотр».
Запрос выглядит следующим образом:
Select familia, count(familia) from M,R,K, v,a
where M.NOMER_M=R.NOMER_M and
K.nomer_k=R.NOMER_K and a.nomer_a=r.NOMER_a and v.nomer_v=a.NOMER_v and
dataotpr>=:d1 and dataotpr<=:d2
group by v.familia
Select model, count(model) from M,R,K, v,a
where M.NOMER_M=R.NOMER_M and
K.nomer_k=R.NOMER_K and a.nomer_a=r.NOMER_a and v.nomer_v=a.NOMER_v and
dataotpr>=:d1 and dataotpr<=:d2
group by a.model
gr1.query1.close;
gr1.QUERY1.ParamByName('d1').asDate:=DateTimePicker1.Date;
gr1.QUERY1.ParamByName('d2').asDate:=DateTimePicker2.Date;
gr1.query1.open;
gr1.query3.close;
gr1.QUERY3.ParamByName('d1').asDate:=DateTimePicker1.Date;
gr1.QUERY3.ParamByName('d2').asDate:=DateTimePicker2.Date;
gr1.query3.open;
При нажатии на этот пункт меню «Отчеты» появится пункт «Списочный состав автопарка и персонала предприятия».
Выбрав его, появляется соответствующий отчет.
SQL для оттого отчёта выглядит следующим образом:
select v.familia, k.familia from k, v,a,r
where
K.nomer_k=R.NOMER_K and a.nomer_a=r.NOMER_a and a.nomer_v=v.NOMER_v
group by v.familia, k.familia
Отчет о маршрутах можно сформировать. Нажав на кнопку «Просмотр» на форме «расписание маршрутов за определенный период»
Запросвыглядитследующимобразом:
Select M.NAZVAN, R.DATAOTPR from M,R
where M.NOMER_M=R.NOMER_M and
dataotpr>=:d1 and dataotpr<=:d2
form17.query1.close;
form17.QUERY1.ParamByName('d1').asDate:=DateTimePicker1.Date;
form17.QUERY1.ParamByName('d2').asDate:=DateTimePicker2.Date;
form17.query1.open;
form16.query1.close;
form16.QUERY1.ParamByName('d1').asDate:=DateTimePicker1.Date;
form16.QUERY1.ParamByName('d2').asDate:=DateTimePicker2.Date;
form16.query1.open;
form16.quickrep1.preview;
Поставленная задача выполнена успешно. В результате выполнения была разработана информационная система, автоматизирующая деятельность фирмы, производящей мебель.
Разработанная информационная система позволяет упростить процесс учета и сбора информации, принимать заказы на оказание услуг, формировать и контролировать процесс ведения дел.
После выполнения курсового проекта, я освоила работу в среде BorlandDelphi 7.0 в связи с СУДБ InterBase 6.0 и приобрела навыки работы с SQLExplorer, а также получила практический опыт написания запросов на языке SQL, практические и теоретические навыки работы в структуре корпоративных информационных систем.