AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Fastreport mit Master und mehreren Detailbändern

Fastreport mit Master und mehreren Detailbändern

Ein Thema von HPB · begonnen am 31. Jan 2016 · letzter Beitrag vom 1. Feb 2016
Antwort Antwort
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.403 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Fastreport mit Master und mehreren Detailbändern

  Alt 31. Jan 2016, 11:08
Hi,

wenn Du die Daten in einer Abfrage raus bekommst, dann kannst Du diese auch über die Group-Bänder darstellen (s. die Demos dazu)

Wenn Du über Master-Detail gehen willst, dann musst du dafür sorgen, dass die Details auf den jeweiligen Master reagieren. WEnn die IBO keine Master-Detail Beziehungen über den Objektinspektor kennen, musst du das halt von Hand lösen:

Master: Select <> from <>;
Detail 1: Select <> Frm <> where ID = MasterID;
Detail 2: Select <> from <> where ID = Detail1ID;

und in den AfterScroll-Events von Master und Detail1 den jeweiligen nächsten Detail setzen (also in Master.AfterScroll wird Detail1 ID gesetzt und geöffnet, In Detail1.AfterScroll wird Detail2 gesetzt)

Klar so weit?

Grüße
  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
 
#2

AW: Fastreport mit Master und mehreren Detailbändern

  Alt 31. Jan 2016, 11:27
Eigentlich fehlt nur eine DataSource Komponente, mit der die MasterDetail-Beziehung zwischen der ibqrAdressen und ibqrAemter und ibqrEhrungen festgelegt wird.

Der Rest ist dann Spaziergang
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
HPB

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

AW: Fastreport mit Master und mehreren Detailbändern

  Alt 31. Jan 2016, 12:07
Eigentlich fehlt nur eine DataSource Komponente, mit der die MasterDetail-Beziehung zwischen der ibqrAdressen und ibqrAemter und ibqrEhrungen festgelegt wird.

Der Rest ist dann Spaziergang
Guten Tag Sir Rufo,
wie kann denn in der TDataSource eine Master-Detail-Beziehung hergestellt werden?
Hast Du mal ein Beispiele - Bild??
(Privat an Sir Rufo: Es kann Dir ja keine PN geschickt werden. Da Du aber aus Stadthagen kommst,
habe ich eine oder mehrere Fragen an Dich, die ich hier nicht öffentlich machen möchte.
Vielleicht schickst Du mir eine Nachricht??)

An Lemmy,
hast Du nicht ein konkretes Beispiel? Kann auch ein Bild sein.
So verstehe ich es noch nicht.

Mit Gruß
HPB
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Fastreport mit Master und mehreren Detailbändern

  Alt 31. Jan 2016, 12:28
Master:

SQL-Code:
select
  a.Titel,
  a.name1,
  a.name2,
  a.Strasse,
  a.PLZ,
  a.Ort,
  a.Geborenam
from
  adressen a
where
  a.adressid in (15,920,1,20,2,22,1009);
Detail 1:

SQL-Code:
select
  l.FKAdressID,
  l.von,
  l.bis
from
  logenaemter l
where
  l.FKAdressID = :master;
Detail 2:

Code:
select
  e.FKAdressID,
  e.Ehrung,
  e.EhrungAm
from
  Ehrungen e
where
  e.FKAdressID = :master;
Im AfterScroll des Masterdatasets dann:

Delphi-Quellcode:
frxdbdtstAemter.ParamByName('master').Value := frxdbdtstAdressen.FieldByName('AdressID').Value;
frxdbdtstAemter.Refresh;
frxdbdtstEhrungen.ParamByName('master').Value := frxdbdtstAdressen.FieldByName('AdressID').Value;
frxdbdtstEhrungen.Refresh;
Markus Kinzler

Geändert von mkinzler (31. Jan 2016 um 12:30 Uhr)
  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 mit Master und mehreren Detailbändern

  Alt 31. Jan 2016, 12:34
Master:
SQL-Code:
select
  a.AdressId, a.Titel, a.name1, a.name2, a.Strasse, a.PLZ, a.Ort, a.Geborenam
from
  adressen a
where
  a.adressid in (15,920,1,20,2,22,1009);
Detail:
SQL-Code:
select
  l.FKAdressID,
  l.von,
  l.bis
from
  logenaemter l
where
  l.FKAdressID = :AdressID;
und das Verknüpfen der Abfragen:
Delphi-Quellcode:
AdresseDataSource.DataSet := ibqrAdressen;
ibqrAemter.MasterSource := AdressenDataSource;
Wenn es keine MasterSource -Eigenschaft gibt, dann die Variante von mkinzler

Bei der Verwendung der MasterSource -Eigenschaft werden die Parameter automatisch mit den Werten vom Master bestückt
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
HPB

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

AW: Fastreport mit Master und mehreren Detailbändern

  Alt 31. Jan 2016, 15:22
Master:

Im AfterScroll des Masterdatasets dann:

Delphi-Quellcode:
frxdbdtstAemter.ParamByName('master').Value := frxdbdtstAdressen.FieldByName('AdressID').Value;
frxdbdtstAemter.Refresh;
frxdbdtstEhrungen.ParamByName('master').Value := frxdbdtstAdressen.FieldByName('AdressID').Value;
frxdbdtstEhrungen.Refresh;
Im Masterband und auch im DetailBand gibt es kein AfterScroll-Ereignis.
Kannst Du nicht mal eine Demo machen??

An Sir Rufo:
Es gibt keine MasterSource.Eigenschaft bei TIBQuery-Komponenten.

Mit Gruß HPB

Geändert von HPB (31. Jan 2016 um 15:33 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Fastreport mit Master und mehreren Detailbändern

  Alt 31. Jan 2016, 15:44
Ich schrieb auch Master DataSet
Markus Kinzler
  Mit Zitat antworten Zitat
HPB

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

AW: Fastreport mit Master und mehreren Detailbändern

  Alt 31. Jan 2016, 15:59
Ich schrieb auch Master DataSet
Danke für den Rüffel.
Im frxdbdataset. Jawoll dort gibt es ein "AfterScroll.Ereignis"
Vielen Dank für Deine geduldige Hilfe.
Mit Gruß
HPB
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 11:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz