我在delphi中使用FastReport控件,表里面有245条记录,打印的时候怎么就把第一条记录重复显示了245次?数据源都关联了呀,为什么呢??
代码如下:
dir := ExtractFilePath(Application.ExeName);
frReport1.LoadFromFile(dir + 'fr3.frf');
b := TfrMemoView(frReport1.FindObject('Memo2'));
with ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select distinct comid from cominfo');
open;
end;
frDBDataSet2.DataSet := ADOQuery1;
frReport2.Dataset := frDBDataSet2;
b.Memo.Text := ADOQuery1.Fields[0].Value;
frReport1.ShowReport;
代码如下:
dir := ExtractFilePath(Application.ExeName);
frReport1.LoadFromFile(dir + 'fr3.frf');
b := TfrMemoView(frReport1.FindObject('Memo2'));
with ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select distinct comid from cominfo');
open;
end;
frDBDataSet2.DataSet := ADOQuery1;
frReport2.Dataset := frDBDataSet2;
b.Memo.Text := ADOQuery1.Fields[0].Value;
frReport1.ShowReport;
上面最后一条写错了,是frReport2.ShowReport;
dir := ExtractFilePath(Application.ExeName);
frReport2.LoadFromFile(dir + 'fr3.frf');
b := TfrMemoView(frReport2.FindObject('Memo2')); with ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select distinct comid from cominfo');
open;
end; frDBDataSet2.DataSet := ADOQuery1;
frReport2.Dataset := frDBDataSet2; b.Memo.Text := ADOQuery1.Fields[0].Value;
frReport2.ShowReport;
这句不是导致,每一行的b.Memo.Text始终为ADOQuery1.Fields[0].Value; 吗
好像只接收adoquery1的第一条记录啊!
改成如下:
b.Memo.Text:='[frDBDataSet2."'+ADOQuery1.Fields[0].FieldName+'"]';
btw:
应该加上一句:
if b<>nil then
......