Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Дублируются записи ??? [XP]


petvv ©   (2009-10-29 13:01:00) 

Есть запрос

select Fuel.Marka, Osnovan.Name Osnov,
Statist.DateTime, Statist.Price, Statist.LitFact, Statist.CurFact,
Statist.Osnovanye, Osnovan.Discount
from Fuel, Osnovan, Statist, Discount
where
Statist.DateTime>=:QDatBeg
and
Statist.DateTime<=:QDatEnd
and
Statist.Product=Fuel.Num
and
Statist.Osnovanye=Osnovan.Num


и последующая его обработка

Table1.Exclusive:=True;
Table1.Active:=True;
Table1.EmptyTable;
//*****************************************
qRas.Active:=False;
qRas.Prepare;
qRas.Params[0].AsDateTime := DatBeg;
qRas.Params[1].AsDateTime := DatEnd;
qRas.Active:=True;

for i:= 1 to qRas.RecordCount do
 begin
   Table1.Append;
   Table1.FieldByName('DateTime').Value:=qRas.FieldByName('DateTime').Value;
   Table1.FieldByName('Marka').Value:=qRas.FieldByName('Marka').Value;
   Table1.FieldByName('Osnov').Value:=qRas.FieldByName('Osnov').Value;
   Table1.FieldByName('Discount').Value:=qRas.FieldByName('Discount').Value;
   Table1.FieldByName('Price').Value:=qRas.FieldByName('Price').Value;
   Table1.FieldByName('LitFact').Value:=qRas.FieldByName('LitFact').Value;
   Table1.FieldByName('CurFact').Value:=qRas.FieldByName('CurFact').Value;

   if qRas.FieldByName('Discount').Value=True then
   begin
     Money:=qRas.FieldByName('CurFact').Value;
     Money:=FloatToStr(Round(StrToFloat(Money)*exp(2*ln(10)))/(exp(2*ln(10))));
     Litr:=qRas.FieldByName('LitFact').Value;
     Litr:=FloatToStr(Round(StrToFloat(Litr)*exp(2*ln(10)))/(exp(2*ln(10))));
     Delta:=Money/Litr;
     Delta:=Delta*(1+Dis[StrToInt(VarToStr(qRas.FieldByName('Osnovanye').Value))]/100);
     Delta:=(Delta*Litr)-Money;
     Delta:=FloatToStr(Round(StrToFloat(Delta)*exp(2*ln(10)))/(exp(2*ln(10))));
     Table1.FieldByName('Delta').Value:=Delta;
   end;
   Table1.Post;
   qRas.Next;
 end;


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

Где искать, как бороться ???


petvv   (2009-10-29 13:07:00) [1]

теперь понял


petvv   (2009-10-29 13:05:00) [2]

не понял


Sergey13   (2009-10-29 13:02:00) [3]

> [0] petvv   (29.10.09 13:01)

А где в запросе привязка Discount?


Наверх

Титульная страница Поиск, карта сайта Написать письмо