Главная страница
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.012 c
1-9431
koks
2002-03-22 09:30
2002.04.04
перерисовка MainForm


3-9392
zzz
2002-03-12 13:18
2002.04.04
TAction and Shortcuts


14-9611
Юра
2002-02-21 06:10
2002.04.04
Help


7-9658
drunya
2002-01-09 14:42
2002.04.04
Как определить номер который набираешь на телефоне


1-9534
michael_B
2002-03-23 20:47
2002.04.04
Как определить в TCheckListBox что пользователь выбрал(где поставил галочки)?