Einzelnen Beitrag anzeigen

seifman
(Gast)

n/a Beiträge
 
#6

AW: FastReport Master / Detail im Report mit TSQL

  Alt 23. Jul 2012, 14:55
Schau Dir mal das Event "OnAfterScroll" des Masters an. In diesem musst Du dann deine Detail-Query nach Parameterübergabe öffnen oder besser sogar filtern.

Bei uns haben wir das so gelöst:
Die Detail-Query wurde bereits vorbereitet und enthält einen Parameter "pid", welchen wir für das OnAfterScroll-Event benötigen.

Für die Master-Query haben wir folgenden Event-Handler:
Delphi-Quellcode:
procedure XYZ.AfterScrollMaster(DataSet: TDataSet); //DataSet ist hier die Master-Query
begin
  if ((FDetailQuery <> nil) and (DataSet.FindField('id') <> nil)) then
  begin
    FDetailQuery.Active := false;
    FDetailQuery.ParamByName('pid').AsFloat := DataSet.FieldByName('id').AsFloat;
    FDetailQuery.Active := true;
  end;
end;
Performanter wäre sicherlich die Detail-Query einmalig zu öffnen und dann nur den Filter zu ändern.
  Mit Zitat antworten Zitat