Einzelnen Beitrag anzeigen

HPB

Registriert seit: 2. Jun 2008
365 Beiträge
 
Delphi XE7 Professional
 
#1

Fastreport mit Master und mehreren Detailbändern

  Alt 31. Jan 2016, 10:59
Datenbank: Interbase • Version: 4 • Zugriff über: IBQuery
Guten Tag Delphianer,
ich habe die Artikel die dies Thema behandeln gelesen.
Sie helfen aber nicht weiter oder ich sehe mal wieder den Wald vor lauter Bäumen nicht.

Folgendes möchte ich lösen:
Ich habe ein Report mit einem Masterband und 2 Detailbänder.
In der Dokumentation von Fastreport steht, das man die Tabellen mit dem Felddesigner
über die Masterfelder verbinden soll. Fastreport benutzt dazu 2 Tablekomponenten.

Ich selektiere aber die mit Hilfe von IBQuery-Komponenten.
Ist ja schliesslich eine Interbase-Datenbank.

Wie soll ich nun diese mit einander verbinden?? Es gibt meines Wissens nach für
diese Komponenten keinen Feldverbinder. Oder?

Auf dem Formular befinden sich:
die IBQuerykomponenten
a) ibqrAdressen
b) ibqrAemter
c) ibqrEhrungen

und die FRXDBDataset-Komponenten
c) frxdbdtstAdressen (Dataset = ibqrAdressen)
d) frxdbdtstAemter (Dataset = ibqrAemter)
e) frxdbdtstEhrungen (Dataset = ibqrEhrungen)

Im Report gibt es die Bänder
MasterData (Dataset = frxdbdtstAdressen)
Detailband1 (Dataset = frxdbdtstAemter
Detailband2 (Dataset = frxdbdtstEhrungen)

----------------------------------------------------------------------------
Versucht habe ich auch schon mit nur einer Abfrage die Daten zu selektieren.
Die Daten wurden dann auch korrekt selektiert, aber trotzdem war das Problem
beim Darstellen der Daten vorhanden. Da ja keine Deteilbänder angeben wurden.
Dazu benutze ich diesen Code:
Delphi-Quellcode:
select
a.Titel,
a.name1,
a.name2,
a.Strasse,
a.PLZ,
a.Ort,
a.Geborenam,

l.FKAdressID,
l.von,
l.bis,

e.FKAdressID,
e.Ehrung,
e.EhrungAm

from logenaemter l
inner Join adressen a
on (l.FKAdressID = a.ADRESSID)

inner join Ehrungen e
on (l.FKAdressID = e.FKAdressID)
 
where a.adressid in (15,920,1,20,2,22,1009)
---------------------------------------------------------------------------------------------------

Jetzt benutze ich drei Abfragen, weiß aber nicht wo ich die Master-Detail-Beziehungen setzen soll.
Der Report wird nicht korrekt gedruckt, da die Master-Detailbeziehungen nicht richtig gesetzt sind.
Wie setzt man aber in den IBQuery-Componenten die Beziehungen??
Oder muss ich gar andere Komponenten nehmen. Aber welche?

Ich hoffe ich habe das Problem verständlich beschrieben.
  Mit Zitat antworten Zitat