Главная страница
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.013 c
3-9355
Злой
2002-03-11 13:16
2002.04.04
Каким образом можно осущестьвить 100% сохранение данны


1-9454
Andrey007
2002-03-25 10:29
2002.04.04
Можно ли создать своё окошко для подсказки (hint) и если да, то как?


3-9414
Draculenok
2002-03-13 12:11
2002.04.04
Создание отчета по нескольким линям мемо( чуть не хватает.....)


1-9549
Kostyanych
2002-03-23 00:46
2002.04.04
А как реализовать drag&drop из, например, проводника в свою прогу?


3-9384
gizar
2002-03-12 14:37
2002.04.04
ProgressBar для ADOQuery1.ExecSQL