如果你使用的是oracle的话,那么矩阵报表正好可以用上.
建立临时表
procedure Tform1.Button1Click(Sender: TObject);
begin
with table1 do //建临时表
begin
active:=false;
tablename:='print';
fielddefs.clear;
fielddefs.add('sb',ftstring,0,true);
fielddefs.add('rq1',ftdate,0,true);
fielddefs.add('sl1',ftinteger0,true);
fielddefs.add('rq2',ftdate,0,true);
fielddefs.add('sl2',ftinteger0,true);
//在这里还可以再加字段,想加多少就加多少
indexdefs.clear;
indesdefs.add('primaryIndex','sb',[ixprimary]);
createtable;
active:=true;
end; //临时表建立完成
with table1 do //向表中动态写入数据
begin
append;
fieldbyname('sb').AsString:='sb1';
fieldbyanem('rq1').Asdate:=strtodate('80-12-1980');
.....
end;//向表中动态写入数据完成
end;
以后直接对table1操作就可以了
以上已经测试,但现在输入中可能有非法字符