Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: -0.991 c
1-9431
koks
2002-03-22 09:30
2002.04.04
перерисовка MainForm


1-9490
pashtet
2002-03-25 21:33
2002.04.04
Как создать базу данных без сервера?


14-9605
Alex12
2002-02-21 15:49
2002.04.04
Струйный и лазерный. Характеристики и выгоды.


7-9667
denis_ka
2002-01-07 00:24
2002.04.04
эмуляция нажатия CTRL-ALT-DEL


3-9396
Aaz
2002-03-11 07:21
2002.04.04
Глюк DBGrid?




   Наверх