Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.04;
Скачать: CL | DM;

Вниз

Создание отчета по нескольким линям мемо( чуть не хватает.....)   Найти похожие ветки 

 
Draculenok ©   (2002-03-13 12:11) [0]

Приветствую мастерам Дельфи...... вот такая проблема ..пытаюсь в Qreporte создать отчет по нескольким линиям МЕМО!!! но почему то он создает только по последней срочке из мемо вот такой код? может что то не так пишу?

begin
For k := 0 To Memo1.Lines.Count - 1 Do
begin
Form3.Query1.SQL.Clear;
Form3.Query1.SQL.Add("SELECT Company,AdvrtName,ConstrType, sum(price) FROM comcon2.db where Company =""" + Memo1.Lines[K] + """ group by AdvrtName,ConstrType,Company");
Form3.Query1.open;
form3.Query1.first;
form3.QRLabel3.Enabled:=false;
form3.QRExpr3.Enabled:=false;
end;
Form3.QuickRep1.Preview;
что не так?????


 
fnatali ©   (2002-03-13 12:22) [1]

Конечно, по последней :)
s : string;
s:="";
For k := 0 To Memo1.Lines.Count - 1 Do
s:=s+"""+Memo1.Lines[K]+"","";
begin
Form3.Query1.SQL.Clear;
Form3.Query1.SQL.Add("SELECT Company,AdvrtName,ConstrType, sum(price) FROM comcon2.db where Company in s group by AdvrtName,ConstrType,Company");
Form3.Query1.open;



 
Romkin ©   (2002-03-13 12:22) [2]

У query при изменении SQL active := false, и получается, что у тебя остается набор для последней строки мемо (сам же делаешь Open)
Примерно так:

var
S: string;
i: integer;

s := "";
with Memo1 do
for i := 0 to Lines.Count - 1 do
begin
if s <> "" then
s := s + ", ";
s := s + """" + Lines[i] + """";
end;
Query1.Active := false;
Query1.SQL.Text := "SELECT Company,AdvrtName,ConstrType, sum(price) FROM comcon2.db where Company in (" +
s + ") group by AdvrtName,ConstrType,Company";
Query1.Active := true;
QuickRep1.Preview;

Ограничение: Memo1.Lines.Count < 256
ессно, QuickRep1.DataSet := Query1


 
sniknik ©   (2002-03-13 12:24) [3]

перестрой запрос, у тебя каждый раз рекордсет новым перетирается
промерно так
Form3.Query1.SQL.Clear;
Form3.Query1.SQL.Add("SELECT Company,AdvrtName,ConstrType, sum(price) FROM comcon2.db where Company IN ("+Memo1.Lines.CommaText+") group by AdvrtName,ConstrType,Company");
Form3.Query1.open;
form3.Query1.first;
form3.QRLabel3.Enabled:=false;
form3.QRExpr3.Enabled:=false;
Form3.QuickRep1.Preview;

CommaText тут скорее всего не подойдет или придется повозится но смысл ясен.



Страницы: 1 вся ветка

Текущий архив: 2002.04.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
1-9474
Varg
2002-03-25 17:07
2002.04.04
Как передать значения параметров в др. процедуру?


1-9507
SeF
2002-03-23 01:44
2002.04.04
Опять DLL


1-9555
lipskiy
2002-03-24 00:54
2002.04.04
Надо перехватить сообщение о копировании в буфер обмена от любого приложения.


1-9491
solo
2002-03-25 21:16
2002.04.04
Рисунки БОЛЬШИХ размеров


1-9513
Rammst
2002-03-23 06:42
2002.04.04
Скины