Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];




Вниз

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


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 тут скорее всего не подойдет или придется повозится но смысл ясен.




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.021 c
1-9522            Foxer                 2002-03-22 20:38  2002.04.04  
Еще один вопрос


1-9575            BlackJack             2002-03-23 19:36  2002.04.04  
Как сделать так чтобы при нажатии на 0 ряд(столбец) в DrawGrid ячейки западали вниз?


1-9508            Crazy Angel           2002-03-17 22:01  2002.04.04  
FileListBox


1-9551            новыйенкий            2002-03-23 20:10  2002.04.04  
Нужна помощь


3-9406            Tanya_                2002-03-12 19:47  2002.04.04  
ApplyUpdate и связь master-detail