Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Report feld direkt hinter ein anderes setzen zur laufzeit (https://www.delphipraxis.net/176153-report-feld-direkt-hinter-ein-anderes-setzen-zur-laufzeit.html)

BBoy 15. Aug 2013 10:48

Datenbank: ABSD • Version: 7 • Zugriff über: -

Report feld direkt hinter ein anderes setzen zur laufzeit
 
Ich verwende den DM Report Builder und möchte das 2 Datenfelder direkt hintereinander dargestellt werden. Nehmen wir an es handelt sich um Vorname und Name, dann soll zuerst der Vorname erscheinen und direkt dahinter der Nachname, unabhängig davon wie lang der Vorname ist! Ben Meier oder Bernhard Meier, der Nachname soll immer direkt auf den Vornamen folgen.

Wie kann ich das verwirklichen?

DeddyH 15. Aug 2013 11:01

AW: Report feld direkt hinter ein anderes setzen zur laufzeit
 
Ich kenne das Reporting Tool zwar nicht, aber z.B. in FastReport kann man mehrere DB-Felder in ein Textfeld ziehen und durch eigenen Text trennen bzw. ergänzen. Gibt es so etwas im Report Builder nicht?

BBoy 15. Aug 2013 11:07

AW: Report feld direkt hinter ein anderes setzen zur laufzeit
 
Weiß nicht ob es das gibt, ich weiß ja nicht mal nach was ich in der Hilfe suchen soll. Wie nennt sich denn so was?

p80286 15. Aug 2013 11:21

AW: Report feld direkt hinter ein anderes setzen zur laufzeit
 
warum machst Du es nicht mit concat,+,|| oder wie auch immer die Funktion in Deiner DB heißt?
Code:
select Vorname||Nachname as LangName from TableNames -- oracle
Gruß
K-H

DeddyH 15. Aug 2013 11:26

AW: Report feld direkt hinter ein anderes setzen zur laufzeit
 
Das war mein 2. Gedanke ;)

BBoy 15. Aug 2013 11:42

AW: Report feld direkt hinter ein anderes setzen zur laufzeit
 
Das mit vor- und Nachname war nur ein Beispiel. Concat geht nicht, da der String zu lang werden würde und am Ende des Reportfeldes abgeschnitten werden würde. Dabei würden wichtige Informationen verloren gehen.

@DeddyH, wie nennt sich denn diese Funktion bei fastreport? Dann kann ich schauen ob das bei mir auch geht.

juergen 15. Aug 2013 11:52

AW: Report feld direkt hinter ein anderes setzen zur laufzeit
 
Hallo,
Ich kenne es auch so, wie DeddyH es schon beschrieben hat. Ein leeres Textfelder und dort die Felder "reinziehen". (Crystal Report)

Perlsau 15. Aug 2013 11:57

AW: Report feld direkt hinter ein anderes setzen zur laufzeit
 
Zitat:

Zitat von BBoy (Beitrag 1224911)
Das mit vor- und Nachname war nur ein Beispiel. Concat geht nicht, da der String zu lang werden würde und am Ende des Reportfeldes abgeschnitten werden würde. Dabei würden wichtige Informationen verloren gehen.

Für solche Fälle erstelle ich immer ein View in meiner DB, das genau diese zusammengesetzten Strings zurückliefert. Der Report wird dann aus dem Dataset gespeist, der das View abruft.

dataspider 16. Aug 2013 07:53

AW: Report feld direkt hinter ein anderes setzen zur laufzeit
 
Hi,

IMHO geht es bei ReportBuilder nicht so einfach wie bei FastReport.
Prinzipiell gibt es 2 Möglichkeiten.


Variante 1:

Richtext - Objekt auf Formular - Richtext bearbeiten, Haken bei Mail Merge setzten und Feldder auswählen.


Variante 2:

Text Objekt auf Formular, in Code / Berechnungen gehen (RAP erforderlich) - Objekt auswählen - auf OnPrint rechte Maus - Neu -
unten Code eingeben wie z.B.
LabelVornamaName.Caption := plDruck['VORNAME'] + ' ' + plDruck['NACHNAME'];

Rechte Maus - kompiliere das Script ...


Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:31 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