Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Rave-Report "dynamisch" gestalten (https://www.delphipraxis.net/85092-rave-report-dynamisch-gestalten.html)

Kerberos 25. Jan 2007 20:51

Datenbank: DBase • Zugriff über: BDE

Rave-Report "dynamisch" gestalten
 
Hallo zusammen,

sitze hier echt an nem haarigen Problem, und weiß nicht mehr weiter.

Folgendes Problem:

Ich möchte einen Report nach ungefähr folgendem Muster erstellen:

-----------------------
HEADER
-----------------------
Data1 Data2 Data3
-----------------------
Bild1 Bild2 Bild3
Data4 Data5
Data6 Data7
usw.

Nun würde ich gerne (für den Fall das Data5 leer ist / keine Daten enthält) Data6 an dessen Stelle treten lassen (und Data7->Data6 usw).

Habe mich nun eine Weile mit den Rave-Reports befasst. Bisher habe ich mir eine "Zwischendatei" erstellt (mittels Stringlist) und den Report per code erstellt (inkl. ausrechnen der Abstände, Zeilenumbruch, etc.)

Da nun aber die Anzahl der zu erstellenden Berichte explodiert ist, suche ich nach ner einfacheren Möglichkeit. Es muss da doch was geben, um direkt die Daten aus der DB zu holen (ohne Zwischendatei)?!?!?!!! :gruebel:

Insgesamt handelt es sich um etwa 28 Bereiche (hier vereinfacht als Data dargestellt) die der User in einem vorgeschaltetem Dialog an/abwählen kann. Diese müssten jeweils sinnvoll "aufrücken", wenn ne Lücke entstanden ist.

PS: Ist DataMirror sinnvoll? So wie ich es verstanden habe, müsste ich da aber für jeden möglichen Fall ne eigene Seite erstellen? Bitte korrigiert mich, wenn ich falsch liege...

So, nun hoffe ich auf baldige Hilfe

Danke schonmal
Kerberos

mkinzler 25. Jan 2007 20:54

Re: Rave-Report "dynamisch" gestalten
 
Du könntest das Problem versuchen im SQL-Statement zu Lösen.

Jennes 25. Jan 2007 21:17

Re: Rave-Report "dynamisch" gestalten
 
Rave hatte doch eine eigene Scriptsprache. Geht damit was?

Kerberos 25. Jan 2007 21:21

Re: Rave-Report "dynamisch" gestalten
 
Zitat:

Zitat von mkinzler
Du könntest das Problem versuchen im SQL-Statement zu Lösen.

wenn du meinst, das ich im sql-statement einfach die leeren Felder rausfiltern soll, dann ist es genau das, was ich mache... aber wie stelle ich dann die andere Verbindung her? Bsp: Feld3 gebunden an DB-Feld3... wenn DB-Feld3 aber leer ist, wie sag ich dem Report, das Feld3 an nächstes, nicht leeres DB-Feld gebunden werden soll?

Oder denk ich da jetzt falsch? :gruebel:

mkinzler 25. Jan 2007 21:24

Re: Rave-Report "dynamisch" gestalten
 
Ich würde die Felder der Ergebnismenge von denen der Tabelle Trennen. D.H. feld1 der Ergebnismenge ist das erste belegte Feld der Tabelle, Feld2 das 2. usw.

Kerberos 25. Jan 2007 21:34

Re: Rave-Report "dynamisch" gestalten
 
aber wie weise ich denn die felder der ergebnismenge zur laufzeit den feldern des berichtes hinzu? und was passiert, wenn mal ein bild fehlt? wie kann ich dann die felder "aufrücken" lassen? ich muss doch im designer die position der felder festlegen... steh da irgendwie gerade auf dem schlau...

mkinzler 25. Jan 2007 21:40

Re: Rave-Report "dynamisch" gestalten
 
SQL-Code:
select iif( data1 not is null, data1, iif( data2 is not null, data2)) as feld1 ...
Im Report dann mit temp. Feldern (feld<x>) verbinden und diese in Abhängigkeit von Wert anzeigen ( so das die überflüssigen Felder am Schluß ausgeblendet werden).

Kerberos 25. Jan 2007 21:50

Re: Rave-Report "dynamisch" gestalten
 
wie das select aussehen muss, war schon klar... trotzdem danke...

mir geht es jedoch mehr um die verbindug mit den feldern. kannst du mir da auch weiterhelfen? habe das bisher halt alles mit textout usw. realisiert... wie krieg ich des mit den temp feldern hin?

mkinzler 25. Jan 2007 21:52

Re: Rave-Report "dynamisch" gestalten
 
Verknüpfe die Controls mit Feld1, feld2, .. anstatt mit data1, data2, ...

Kerberos 25. Jan 2007 21:56

Re: Rave-Report "dynamisch" gestalten
 
kannste mir dazu mal nen beispiel geben? nur wenn du zeit/lust hast natürlich. aber irgendwie steig ich da echt net so durch... mir fehlt der entscheidende "aha-effekt"


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 Uhr.
Seite 1 von 2  1 2      

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