Показать сообщение отдельно
  #6  
Старый 25.03.2009, 16:08
prog64free prog64free вне форума
Прохожий
 
Регистрация: 21.03.2009
Сообщения: 3
Репутация: 10
По умолчанию Суммирование записей

Спасибо за совет, но есть ещё вопрос. Вот код.
Код:
procedure TForm1.Button10Click(Sender: TObject);     //+++++++++++++++++++++  +++++
var
F:Integer;
begin
Query2.Close;
Query2.SQL.Clear;

if Edit2.Text<>'' Then Begin

Query2.SQL.Add('select sum(Kolichestvo_fact) from Naryd where '+Table1.Filter);
Query2.Open;
F:= Query2.SQL.Add('select sum(Kolichestvo_fact) from Naryd where '+Table1.Filter);
Edit2.Text:=intToStr(F);

end else

if Edit2.Text='' Then begin

Query2.SQL.Add('select sum(Kolichestvo_fact) from Naryd;');
Query2.Open;
Edit2.Text:=Query2.Fields[0].AsString;

end;
Query2.Close;
Query2.SQL.Clear;

//+++++++++++++++++++++

end;
Admin: Пользуемся тегами, иначе последуют санкции!

Этот код по одному нажатию кнопки реализует два SQL запроса, это видно. Появилась небольшая неприятность связанная с тем, что когда я произвожу очистку поля фильтра Edit1, при повторном нажатии кнопки Button10 возникает следующая вещь - 1й раз выводится предварительный SQL (все записи из базы)- их сумма, 2й раз - отфильтрованные записи - их сумма. По нажатию другой кнопки поле фильтра стирается (код не привожу и так понятно), по нажатию всё той же второй кнопки производится стирание и очистка SQL. Но при этом память не стирается. Получается что запросы висят в памяти, и по раз-два Click по очереди выводятся в Edit2. В чем может быть причина?
Ответить с цитированием