Einzelnen Beitrag anzeigen

Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
563 Beiträge
 
Delphi XE6 Enterprise
 
#15

AW: Fast Report PrepareRaport

  Alt 31. Aug 2018, 16:31
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.
  Mit Zitat antworten Zitat