AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi FastReport Master / Detail im Report mit TSQL
Thema durchsuchen
Ansicht
Themen-Optionen

FastReport Master / Detail im Report mit TSQL

Ein Thema von rokli · begonnen am 20. Jul 2012 · letzter Beitrag vom 23. Jul 2012
Antwort Antwort
rokli

Registriert seit: 21. Mär 2009
Ort: Rödinghausen
297 Beiträge
 
Delphi 10.4 Sydney
 
#1

FastReport Master / Detail im Report mit TSQL

  Alt 20. Jul 2012, 08:32
Hallo Zusammen!

Seit einiger Zeit knabbere ich nun an einer einfachen Master/Detail bzw. MasterData/DetailData Beziehung. Laut Handbuch FR, wird die Master/Detail auf die TABLLEN im Delphi hergestellt: " ... der Komponente Table2
stellen wir die Eigenschaft MasterSource = DataSource1 ein, dadurch stellen wir die
Verbindung “master-detail” her. ...
".

Ich verwende TSQL, denen ich das Statement erst zur Laufzeit - in Abhängigkeit anderer Daten - generieren kann.

Wie kann ich die Verknüfung zweier Query´s im FR herstellen?
Edit: (also eine Query für den Master und eine Query für das Detail)

Oder liegt es an der im Delphi XE2 integrierten (abgespeckten?) Version von FR (FR 4.12.2)?

Vielen Dank für Eure Hilfe!
Rolf
Rolf
wenn nicht anders angegeben, schreibe ich zu D7, XE2 und MS SQL - ansonsten fragen Sie ihren Administrator oder einen Operator. Update 06/2020: Delphi 10.4 Sydney

Geändert von rokli (20. Jul 2012 um 10:12 Uhr)
  Mit Zitat antworten Zitat
ensaron

Registriert seit: 29. Aug 2008
Ort: 10369 Berlin
63 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: FastReport Master / Detail im Report mit TSQL

  Alt 23. Jul 2012, 12:54
Hallo,

vor genau dem Problem stehe ich ebenfalls gerade und erlaube mir daher, dieses Thema wieder etwas nach oben zu schieben

Ich möchte dem Report zwei DataSets zur Verfügung stellen und die Master-Detail-Verknüpfung erst im Report herstellen.

Kennt jemand dafür eine Möglichkeit?

Grüße
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: FastReport Master / Detail im Report mit TSQL

  Alt 23. Jul 2012, 13:08
Die Master-Detail-Beziehungen müssen quasi noch vor dem Report erzeugt werden.

Aber wo ist denn das Problem?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.332 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: FastReport Master / Detail im Report mit TSQL

  Alt 23. Jul 2012, 13:49
Dadurch wird ja die Logik aus dem Report heraus verlagert. Das ist eigentlich nicht so sinnvoll, da man diese dann nur schlecht anpassen kann.

Am besten wäre, wenn man nur wissen muss, welche Tabellen der Report benötigt, und diese dann z.B. als ClientDataSet zur Verfügung stellen kann. Der Rest der Logik sollte komplett im Report passieren.
Im Grunde also genau z.B. mit TSQL wie der TE es geschrieben hat.

Lässt sich so etwas mit FastReport nicht machen?
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: FastReport Master / Detail im Report mit TSQL

  Alt 23. Jul 2012, 13:51
Da ein Report eine Veranschaulichung von Daten ist, sollte jede Logik zum Zeitpunkt der Report-Erstellung schon abgeschlossen sein.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
seifman
(Gast)

n/a Beiträge
 
#6

AW: FastReport Master / Detail im Report mit TSQL

  Alt 23. Jul 2012, 13: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
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: FastReport Master / Detail im Report mit TSQL

  Alt 23. Jul 2012, 14:01
Das ist doch aber wesentlich umständlicher als die MasterDetail-Beziehung gleich zu definieren.

Und flexibel (wiederverwendbar) ist das auch nicht gerade.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
seifman
(Gast)

n/a Beiträge
 
#8

AW: FastReport Master / Detail im Report mit TSQL

  Alt 23. Jul 2012, 14:25
Das ist doch aber wesentlich umständlicher als die MasterDetail-Beziehung gleich zu definieren.

Und flexibel (wiederverwendbar) ist das auch nicht gerade.
Da gebe ich Dir Recht. Wollte lediglich eine Lösung aufzeigen, die bei uns an diversen Stellen verwendet wird. Auf die Idee der Detail-Query-Komponente einfach den Master anzugeben bin ich nicht gekommen. Danke für den Hinweis.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz