![]() |
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 |
Re: Rave-Report "dynamisch" gestalten
Du könntest das Problem versuchen im SQL-Statement zu Lösen.
|
Re: Rave-Report "dynamisch" gestalten
Rave hatte doch eine eigene Scriptsprache. Geht damit was?
|
Re: Rave-Report "dynamisch" gestalten
Zitat:
Oder denk ich da jetzt falsch? :gruebel: |
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.
|
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...
|
Re: Rave-Report "dynamisch" gestalten
SQL-Code:
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).
select iif( data1 not is null, data1, iif( data2 is not null, data2)) as feld1 ...
|
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? |
Re: Rave-Report "dynamisch" gestalten
Verknüpfe die Controls mit Feld1, feld2, .. anstatt mit data1, data2, ...
|
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"
|
Re: Rave-Report "dynamisch" gestalten
natürlich sind auch alle anderen herzlich eingeladen, mir zu helfen :lol:
habs nochmal versucht, aber komme irgendwie net weiter.. danke schonmal kerberos |
Re: Rave-Report "dynamisch" gestalten
|
Re: Rave-Report "dynamisch" gestalten
danke für den link...
aber das buch hab ich schon. wie schon gesagt, hab ich mich mit den rave-reports ja auch schon beschäftigt und die "grafische" ausgabe (also ein komplett code-generierter Bericht) hab ich ja auch schon hinbekommen. Die meisten Grundlagen kenne ich ja auch schon (jedenfalls bilde ich mir das ein :???: ) Wie ich ne Dataconnection zu ner Datenbank herstelle und diese Daten dann im Report anzeige (Master/Detail etc) weiss ich ja auch. Aber hier handelt es sich meiner Meinung nach um ein ganz anderes Problem (wie schon gesagt, korrigiere mich, wenn ich falsch liege). Es geht nicht darum, die Felder im Report auszublenden (das ist ja imho über ne einfach Abfrage im Event möglich) ich habe vielmehr Probleme mit den Feldzuordnungen. Statische Felder sind überhaupt kein Problem (also z.b ne Tabelle mit Rechnungen oder ähnlichem) hier geht es jedoch darum, diese Felder dynamisch zu verteilen a la "wenn vorheriges Feld leer und du passt da rein, dann rücke an dessen Stelle". Wie schon gesagt: Vielleicht denke ich da auch zu kompliziert. So wie ich das verstanden habe, werden Felder an der Position im Report gedruckt, an die ich sie im Entwurf ziehe (und es werden die Daten angezeigt, mit denen ich das Feld verbunden habe) Mein Problem ist ja aber, das ich zur Entwurfszeit noch nicht weiss, welche Felder überhaupt angezeigt werden sollen (geschweige denn, welchen Inhalt sie haben werden (ob Text oder Zahl oder sogar Bild) ). Klar könnte ich ein Design festlegen (mit der maximalen Anzahl der möglichen Felder). Dann hätte ich aber an den Stellen, wo der Kunde vorher das Feld abgewählt hat, leere Flächen im Report. Und genau das will ich nicht. Und bei der Frage nach nem Beispiel ging es mir nicht um fertigen Code. Im Gegenteil, schliesslich will ich ja lernen. Ein Denkansatz bzw. wonach ich in den diversen Dokumentationen :gruebel: zu Rave suchen muss würde mir völlig reichen. Irgendwie muss des doch klappen :wall: |
Re: Rave-Report "dynamisch" gestalten
*push*
|
Re: Rave-Report "dynamisch" gestalten
Zitat:
nein, spaß beiseite.... ich würde in so einem Falle über die CustomConnection gehen, damit hast Du alle Eventualitäten im Griff und die größtmögliche Flexibilität.... :-) thomas, TeamNevrona |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:06 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