Guten Morgen Steku, guten Morgen Frickler,
@ Frickler: Es sind 2-Pass Reports. Dein Ansatz / Lösung kling vielversprechend, hast Du vielleicht ein
Beispiel für mich an dem ich mich Orientieren kann, ich habe bisher keine Erfahrung damit.
Hier mal kurz skizziert, wie das funktioniert (mit UniDAC):
Delphi-Quellcode:
var
TempProvider: TDataSetProvider;
TempQuery : TUniQuery;
...
TempProvider := TDataSetProvider.Create(
nil);
TempQuery := TUniQuery.Create(
nil);
try
try
TempQuery.Connection := ...
TempQuery.UnPrepare;
TempQuery.SQL.Text := '
SELECT bla FROM blubb WHERE faselrhabarber = :F';
TempQuery.Params := ...
TempQuery.Prepare;
TempQuery.Active := true;
TempProvider.Options := [poIncFieldProps];
TempProvider.DataSet := TempQuery;
cds.IndexName := '
';
cds.Data := TempProvider.Data;
except
on E:
Exception do
...(Fehler melden)...
end
finally
TempQuery.Free;
TempProvider.Free;
end;
Hinweis: "cds" ist eine auf dem Datenmodul liegende TClientDataSet-Komponente. Diese dient dann als Datenquelle für den Report. "sqltxt" ist die Anweisung für den Report.