編輯: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。請注意,您已經忽略了提出問題,因此獲得答案將證明具有挑戰性。請[編輯]你的問題,以明確你需要的答案。考慮到現在沒有顯示循環,你可以先指出你遇到什麼問題。 –
我基本上需要知道如何通過使用循環從數據表中的列中獲取不同的代碼列表。粘貼的代碼仍然顯示重複。所以我的意思是。我將如何循環遍歷表的行。 –