Seite 1 von 1

DB Textfelder in subreport dynamisch verschieben?

Verfasst: Montag 24. August 2020, 12:53
von Lutz Petri
Hallo,
ich möchte in einem subreport ein DB Textfeld auf ein DB Textfeld mit variabeler Größe passend folgen lassen. Dazu finde ich aber keinen Befehl.
Kann mir da jemand helfen, ob und wie das geht?

Grüße
L. Petri

Re: DB Textfelder in subreport dynamisch verschieben?

Verfasst: Montag 24. August 2020, 13:38
von Falko Müller
Hallo,
eine solche Funktion gibt es nicht. Sie müssen die Felder über die Programmierung in einem Feld kombinieren. Am Besten laden Sie Ihren Report hier hoch, dann kann man ihn direkt bearbeiten.

Re: DB Textfelder in subreport dynamisch verschieben?

Verfasst: Montag 24. August 2020, 15:22
von Uli Dierkes
Das geht auch ohne Programierung, wenn man
a) statt DBText-Elementen DBRichText-Felder verwendet;
und
b) beide in eine zuvor definierte Region verschiebt.

Bei DBRichText-Feldern lässt sich nämlich ein Vorgängerfeld auswählen ("SubsequentTo").
Nicht vergessen, auch die Eigenschaft "Dehnen" ("Stretch") auszuwählen!

Re: DB Textfelder in subreport dynamisch verschieben?

Verfasst: Montag 24. August 2020, 16:45
von Falko Müller
Uli Dierkes hat geschrieben: Montag 24. August 2020, 15:22 Das geht auch ohne Programierung, wenn man
a) statt DBText-Elementen DBRichText-Felder verwendet;
und
b) beide in eine zuvor definierte Region verschiebt.

Bei DBRichText-Feldern lässt sich nämlich ein Vorgängerfeld auswählen ("SubsequentTo").
Nicht vergessen, auch die Eigenschaft "Dehnen" ("Stretch") auszuwählen!
Das klappt aber nur für den Abstand untereinander. Zumindest habe ich es nur so hinbekommen. Ich habe die Anfrage aber so verstanden, dass es um zwei Elemente gehen soll, die nebeneinander im passenden Abstand stehen sollen.

Re: DB Textfelder in subreport dynamisch verschieben?

Verfasst: Montag 24. August 2020, 18:13
von Uli Dierkes
Von "nebeneinander" habe ich bei Lutz Petri nichts gelesen.

Wenn man die Inhalte zweier DBText-Felder verbinden (kombinieren) möchte, dann muss man
- ein DBText-Feld mit zum Report passender Datenquelle (z.B. Schueler) in den Report setzen;
- im OnGetText-Ereignis dieses DBText-Feldes die Datenverbindung programmieren.
[siehe Muster-Abbildung]
Bildschirmfoto 2020-08-24 um 18.05.53.png
Bildschirmfoto 2020-08-24 um 18.05.53.png (22.45 KiB) 1636 mal betrachtet

Re: DB Textfelder in subreport dynamisch verschieben?

Verfasst: Mittwoch 26. August 2020, 12:53
von Lutz Petri
Erst einmal herzlichen Dank für die Antworten,
es handelt sich um ein Textfeld, in dem durch die Einprogrammierung des Vornamens die Länge des Textes variabel ist. An dieses Textfeld soll sich ein weiteres anschließen im passenden Abstand zu dem ersten variabelen Textfeld.
Damit könnte die Variante von Herrn Dierkes klappen, wenn ich das technisch umgesetzt bekomme.

Viele Grüße
L. Petri

Re: DB Textfelder in subreport dynamisch verschieben?

Verfasst: Mittwoch 26. August 2020, 21:07
von A.Löser
Im beigefügten Testreport liegen DBText1 und DBText2 nebeneinander.
DBText2 wird in Abhängigkeit von der Zeichenzahl in DBText1 nach rechts verschoben.

Das klappt gut bei Schriftarten mit gleicher Zeichenbreite (i ist so breit wie W, z.B. Courier).
Bei Proportinalschriften (Times etc) muss man mal etwas mit den Zahlenwerten spielen, um gute Ergebnisse zu bekommen.

Re: DB Textfelder in subreport dynamisch verschieben?

Verfasst: Mittwoch 26. August 2020, 22:26
von Uli Dierkes
A.Löser hat geschrieben: Mittwoch 26. August 2020, 21:07 Bei Proportinalschriften (Times etc) muss man mal etwas mit den Zahlenwerten spielen, um gute Ergebnisse zu bekommen.
Da möchte ich behaupten: solche Spielerei wird niemals gute Ergebnisse liefern - zumindest wenn die auszugebenden Texte unterschiedlich sein können. Zwischen den beiden Worten
"Mammogramm" und
"initiieren"
liegen trotz gleicher Zeichenzahl platzbedarfsmäßig ganze Universen, bei vollständigen Sätzen kann die Diskrepanz noch größer werden.

Re: DB Textfelder in subreport dynamisch verschieben?

Verfasst: Donnerstag 27. August 2020, 08:21
von HermJo
Probieren Sie doch einfach mal ein Richtextfeld, haken MailMerge an und fügen dann die gewünschten Datenfelder ein.