WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Інформаційно-довідкова система „Склад” - Курсова робота

Інформаційно-довідкова система „Склад” - Курсова робота

Edit3.Text+''','''+Edit5.Text+''','''+Edit4.Text+''');';

DataModule1.Query1.SQL.Add(sqlInsert);

DataModule1.Query1.ExecSQL;

end;

Procedure TForm1.ToolButton4Click(Sender: TObject);

// створення нової таблиці

var TableName,sqlCreate:string;

begin

DataModule1.Query1.SQL.Clear;

TableName:=InputBox('Введіть ім''я нової таблиці','','');

sqlCreate:='Select * into '+TableName+' from Товар where ('+t1+'

like '''+'%'+Edit1.Text+''') and ('+t2+' like '''+Edit2.Text+''') and ('+

t3+' like '''+Edit3.Text+''') and ('+t4+' like '''+Edit4.Text+''') and (';

case ComboBox1.ItemIndex of

0: sqlCreate:=sqlCreate+t5+' = '+Edit5.Text+');';

1: sqlCreate:=sqlCreate+t5+' > '+Edit5.Text+');';

2: sqlCreate:=sqlCreate+t5+' < '+Edit5.Text+');';

3: sqlCreate:=sqlCreate+t5+' between '+Edit5.Text+' and

'+Edit6.Text+');';

end;

DataModule1.Query1.SQL.Add(sqlCreate);

DataModule1.Query1.ExecSQL;

DataModule1.Query1.SQL.Clear;

DataModule1.Query1.SQL.Add('Select * from '+TableName);

DataModule1.Query1.Active:=True;

end;

Procedure TForm1.ToolButton6Click(Sender: TObject);

// самостійне введення запиту

begin

with DataModule1.Query1 do

begin

SQL.Clear;

SQL.Add(InputBox('Введіть запит','',''));

Active:=True;

end;

end;

Наведемо приклад створення запиту з двох таблиць. Помістимо на GroupBox5 Edit7, ComboBox2 i дві компоненти SpeedButton. Одна з них буде використовувати нашу функцію з dll GetDate. Запит повинен вибирати за введеною датою товари з таблиці "Товар" на основі дати виписки рахунку з таблиці "Рахунок". В ComboBox введемо такі елементи для вибору: Рахунок.[Сума оплати], Товар.[Назва товару], Рахунок.[Дата проплати], які користувач може вибрати для вибору сортування результатів. Введемо наступний текст для обробки події OnClick для SpeedButton3 (вибір дати) і SpeedButton4 (вивід результатів запиту):

Procedure TForm1.SpeedButton3Click(Sender: TObject);

var i:integer;

Choise:string[10];

begin

Choise:=DateToStr(GetDate);

i:=1;

Edit7.Text:=''; Edit8.Text:=''; Edit9.Text:='';

While Choise[i]<>'.' do

begin

Edit7.Text:=Edit7.Text+Choise[i];

inc(i);

end;

inc(i);

While Choise[i]<>'.' do

begin

Edit8.Text:=Edit8.Text+Choise[i];

inc(i);

end;

inc(i);

While i<=Length(Choise) do

begin

Edit9.Text:=Edit9.Text+Choise[i];

inc(i);

end;

end;

Procedure TForm1.SpeedButton4Click(Sender: TObject);

var sqlStr: String;

sDate: string;

begin

if (Edit7.Text='')or(Edit8.Text='')or(Edit9.Text='') then

begin

ShowMessage('Потрібно вибрати дату');

exit;

end;

sDate:=Edit8.Text+'/'+Edit7.Text+'/'+Edit9.Text;

DataModule1.Query1.SQL.Clear;

sqlStr:='Select Товар.[Назва товару],Товар.[Опис

товару],[Партія товару].[Код рахунку],Рахунок.[Дата

проплати],Рахунок.[Дата виписки],Рахунок.[Сума оплати]

from Товар inner join ([Партія товару] inner join '+

'Рахунок on Рахунок.[Код рахунку]=[Партія товару].[Код

рахунку]) on '+'Товар.[Код товару]=[Партія товару].[Код

товару] where Рахунок.[Дата виписки]=#'+sDate+'#';

if ComboBox2.Items[ComboBox2.ItemIndex]<>'' then

sqlStr:=sqlStr+' Order By

+ComboBox2.Items[ComboBox2.ItemIndex];

sqlStr:=sqlStr+';';

DataModule1.Query1.SQL.Add(sqlStr);

DataModule1.Query1.Active:=True;

end;

Текст нашого запиту при введеній даті і сортуванні по назві товару буде мати вигляд:

Перейдемо до створення останньої закладки програми – "Звітність", в якій проілюструємо роботу з QuickReports. Виберемо в меню опцію File  New, в вікні вибору натиснемо на піктограмі "Report". Збережемо новий модуль, і заберемо його з опцій проекту, як форму що створюється автоматично. На нашу закладку звітність помістимо GroupBox6, Сaption якого присвоїмо "Прайс лист товарів". Помістимо на GroupBox кнопку "Перегляд і друк", події OnClick якої присвоїмо наступне:

Procedure TForm1.SpeedButton5Click(Sender: TObject);

begin

Application.CreateForm(TQuickRPrice, QuickRPrice);

QuickRPrice.Preview;

QuickRPrice.Destroy;

end;

Наш QuickReport1 переіменуємо в QuickRPrice, його властивості DataSet надамо значення DataModule1.Table1. Відкривши в властивостях групу "Bands" надамо значення True властивостям HasTitle (назва звіту), HasColumnHeader (загаловки колонок), HasDetail (самі дані, значення полів таблиці). З закладки QReports на Title помістимо QRLabel, з Caption = "Прайс-лист товарів", на ColumnHeader п'ять компонент QRLabel з назвами полів нашої таблиці, а на частину Detail п'ять QRDBText, властивостям яких DataSet надамо значення DataModule1.Table1, а DataField відповідно поля нашої таблиці:

На цьому закінчимо розробку першого звіту. Помістимо на закладку звітність ще один GroupBox, який назвемо "Відомості про продаж товарів", і організуємо як складний звіт з деталізацією інформації з різних таблиць. Для кнопки "Перегляд і друк" звіту введемо такий текст програми:

Procedure TForm1.SpeedButton6Click(Sender: TObject);

begin

DataModule1.Table1.MasterSource:=DataModule1.DataSource3;

DataModule1.Table1.MasterFields:='Код товару';

Application.CreateForm(TQuickRSum, QuickRSum);

QuickRSum.Preview;

QuickRSum.Destroy;

DataModule1.Table1.MasterSource:=nil;

DataModule1.Table1.MasterFields:='';

end;

Створимо новий Report, назвемо його QuickRSum, властивість DataSet присвоїмо DataModule1.Table1, з групи Bands присвоїмо значення True властивостям HasTitle, HasColumnHeader, HasDetail. Помістимо на Report QRBand i QRSubDetail. На розділ Title помістимо QRLabel "Відомості про продаж товарів", на ColumnHeader QRLabel з назвами полів таблиці "Товар", на частину Detail QRDBText відповідно з властивістю DataSet DataModule1.Table1, a DataField з назвами відповідних полів таблиці. На частину GroupHeader помістимо назви полів таблиці "Рахунок", відповідно на частину SubDetail QRDBText з DataSet = DataModule1.Table2, i DataFiled яких надамо назви полів таблиці "Рахунок":

Викликавши контекстне меню правою кнопкою миші можна подивитись попередній перегляд звіту, але, наприклад, в нашому випадку, звіт буде відображатись неправильно в режимі розробки програми, тому що зв'язок між таблицями "Товар" і "Партія товару" ми встановлюємо під час роботи програми. Скомпілювавши і запустивши програму ми зможемо переглянути звіт в нормальному вигляді натиснувши кнопку "Перегляд і друк".

Висновки

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

Виконання діалогового режиму при проектуванні сприяє найкращому поєднанню можливостей людини та ЕОМ у процесі розв'язування багатьох задач.

Так діалоговий режим спілкування людини з базами даних АСУ забезпечує:

  • можливість перегляду різних комбінацій пошукових ознак у запиті;

  • покращення характеристик вихідних даних за рахунок оперативного користування запиту з терміналу;

  • можливість розширення, звуження або зміни напрямку пошуку одразу після отримання результатів;

  • багатоплановість точок доступу;

  • швидкий доступ до рідко використовуваної інформації;

  • оперативний аналіз з вихідної інформації;

В курсовому проекті спроектовано розв'язування задачі зберігання та продажу продукції зі складу.

Список використаної літератури

  1. Бухгалтерський облік в умовах реформування економіки під ред. Г.П. Журавля та ін. - К: ІСД МОУ 1995 -380с.

  2. Волков С.И., Романов А.Н. Организация машинной обработки экономической информации. - М: Финансы и статистика, 1988 - 399с.

  3. Економічний аналіз діяльності промислових підприємств та обєднань. під ред. Шкарабана С.І. - К: НМК ВО, 1992 - 236с.

  4. Модин А.А. и др. Справочник разработчика АСУ - М: Высшая школа, 1990 -189с.

  5. Научные основы организации управления и построения АСУ под ред. В.О. Крилова, - М: Высшая школа, 1990 -278с.

  6. Одинцов Б.Е. Экономическая информатика, - Х: , 1996 –220с.Технология обработки данных в АСУ (пособие оператору) - К: Техника 1987 -160с

  7. Вейскас.Д, В26 Эффективная работа с Мicrosoft Access 97 – Спб: ЗАО "Издательство Питер",1999. – 976 с.:ил.

  8. Кауфельд.Дж, К45 FoxPro для "чайников". – К.: "Диалекика", 1995.- 264 с., ил.

  9. Селиджтаун.М, В26 "FoxPro 2.5 Практическое пособие" - М: изд. "Москва-Пресс",1994.-296 с.:ил.; 3-е Издание.

  10. Пономарев В. Базы данных в Delphi 7. – СПб.: Питер, 2003.

  11. Стив Тейксейр, Ксавье Пачеко Delphi 5. Руководство разработчика. – М: изд. "Вильямс", 2000.

Loading...

 
 

Цікаве