编辑:Pascal脚本快速报告
林到快餐报告编辑一些老Pascal脚本和正处于一个艰难的时间只返回重复的记录。任何帮助,将不胜感激。
所以基本上,我打电话一个存储过程返回表中的数据。在其中一列中,有时会有一个字母代码(A,B,C),它定义了要为报告提取哪个rtf文件。
目前它确实去获取各自代码的所有rtf文件,但有时代码重复(A,A),在这种情况下,我需要它只返回DISTINCT rtf文件。因此,如果是allready拉,不要再拉和携带该列中
我的代码寻找其他代码: 注:(表“类”)在Memo93我只是插入
procedure GroupHeader17OnBeforePrint(Sender: TfrxComponent);
var
CarGroup: String ;
CarGroupLoop: String;
begin
CarGroup := Memo93.Value;
if not(CarGroup = CarGroupLoop) then
begin
try
GroupHeader17.Visible := TRUE;
rich23.richedit.lines.LoadFromFile('example\'+ trim(Get('@QteLanguage'))+ '\'+ trim(Get('@QteLanguage'))+'_Group_'+ trim(<Table."class">)+ '.rtf');
except
GroupHeader17.Visible := FALSE;
end;
end
else
begin
GroupHeader17.Visible := False;
end;
CarGroupLoop := <table."Class">;
end;
这似乎完成了这项工作,只能带回不同的rtf文件。
procedure GroupHeader17OnBeforePrint(Sender: TfrxComponent);
var
CarGroup: String ;
CarGroupLoop: String;
begin
CarGroup := Memo93.Value;
CarGroupLoop := <table."Class">;
if not(CarGroup = CarGroupLoop) then
begin
try
GroupHeader17.Visible := TRUE;
rich23.richedit.lines.LoadFromFile('example\'+ trim(Get('@QteLanguage'))+ '\'+ trim(Get('@QteLanguage'))+'_Group_'+ trim(<table."Class">)+ '.rtf');
except
GroupHeader17.Visible := FALSE;
end;
end
else
begin
GroupHeader17.Visible := False;
end;
end;
听起来要缓存(该文件名是由已经加载的文件由从数据集读取的字符),以防止加载相同的文件(对于相同的字符)。但是我不明白你提到的循环的意思。你能详细说明一下你的问题吗? – Victoria
欢迎来到Stack Overflow。请注意,您已经忽略了提出问题,因此获得答案将证明具有挑战性。请[编辑]你的问题,以明确你需要的答案。考虑到现在没有显示循环,你可以先指出你遇到什么问题。 –
我基本上需要知道如何通过使用循环从数据表中的列中获取不同的代码列表。粘贴的代码仍然显示重复。所以我的意思是。我将如何循环遍历表的行。 –