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

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

Как можно упростить ?? [D5, Paradox]


dj0n ©   (2005-11-19 12:03:00) 

Тут записи истекшие по дате переносятся в другую таблицу!
как это можно упростить?

procedure TForm1.Button2Click(Sender: TObject); // Удаление записи из 1ой табл
//var n,t,v,s:integer;
begin

 table1.DisableConstraints;
 table1.First;
 table1.Filtered := false;
 while not table1.Eof do
   begin
     if form1.table1.fieldbyname('srok').asdatetime < date  then
       begin
          if  form1.table1.fieldbyname('srok').asstring <> '' then
            begin

                table3.Insert;
                table3.fieldbyname('gosnom_del').asstring := table1.fieldbyname('gosnom').asstring;
                table3.fieldbyname('marka_del').asstring := table1.fieldbyname('marka').asstring;
                table3.fieldbyname('fam_del').asstring := table1.fieldbyname('fam').asstring;
                table3.fieldbyname('name_del').asstring := table1.fieldbyname('name').asstring;
                table3.fieldbyname('otch_del').asstring := table1.fieldbyname('otch').asstring;
                table3.fieldbyname('dacha_del').asstring := table1.fieldbyname('dacha').asstring;
                table3.fieldbyname('tip_del').asstring := table1.fieldbyname('tip').asstring;
                table3.fieldbyname('poct_del').asstring := table1.fieldbyname('poct').asstring;
                table3.fieldbyname('srok_del').asstring := table1.fieldbyname('srok').asstring;
                table3.fieldbyname('mest_del').asstring := table1.fieldbyname('mest').asstring;
                table3.fieldbyname('str_del').asstring := table1.fieldbyname('str').asstring;
                table3.post;
                table1.delete;
                table1.next;

             end
               else
                  begin
                    table1.next;
                  end
                   end
                     else table1.next;

end;


sniknik   (2005-11-20 19:04:00) [1]

> а если у меня нет Sql таблица.
как это нет? у тебя же BDE используется, значит есть. и от того положиш ты на форму компонент (Query) или нет ничего не изменится, он как был в BDE так и останентся. просто используя BDE ты не будеш использовать часть его - SQL вот и все.


Virgo_Style   (2005-11-20 19:00:00) [2]

для начала примерно так

for i := 0 to Table3.FieldCount - 1 do
begin      
 FieldName:=Table3.Fields[i].FieldName;
 table3.fieldbyname(FieldName).asstring := table1.fieldbyname(FieldName).asstring;
end;


dj0n   (2005-11-20 18:51:00) [3]

а если у меня нет Sql таблица.


Sens   (2005-11-19 12:13:00) [4]

Select * from основная_таблица into имя_таблицы_для_просроченных
where
условие_по_дате

//=================================================
delete from основная_таблица
where
условие_по_дате


Наверх

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