Delphi-PRAXiS
Seite 5 von 6   « Erste     345 6      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenmodell (https://www.delphipraxis.net/150757-datenmodell.html)

mkinzler 28. Apr 2010 13:21

Re: Datenmodell
 
Schau dir mal die Komponente frxDesigner an. es gibt auch ein Beispiel bei den Demos

Cogito 28. Apr 2010 14:39

Re: Datenmodell
 
Zitat:

Zitat von mkinzler
Schau dir mal die Komponente frxDesigner an. es gibt auch ein Beispiel bei den Demos

Da gibt's nur ein MainDemo, dort werden aber nur bereits existierende Reports geöffnet. Dann habe ich noch Demos gefunden, wo man den Designer als MDI oder in einem PageControl Element öffnen kann. Aber ich finde nirgends ein Beispiel wo ich mal sehen kann, wie man den Designer mit einem neuen leeren Report aber vorgegebenen Abfragen starten kann??!! Kennst du ein solches Beispiel?

P.S.: Das ist alles ein bisschen undurchsichtig auf den ersten Blick; es gibt eine Designer-Komponente aber meist wird der Designer über die Hauptreport-Komponente mittels der DesignReport Methode geöffnet??!

mkinzler 28. Apr 2010 15:02

Re: Datenmodell
 
Du müsstest einen entsprechenden Report als Template haben
http://www.fast-report.com/de/documentation/

mkinzler 28. Apr 2010 15:08

Re: Datenmodell
 
Ich habe die OffTopic Beiträge in einen eigenen Thread ausgelagert, da diese hier einen parallelen Faden gebildet haben

Cogito 28. Apr 2010 15:22

Re: Datenmodell
 
Zitat:

Zitat von mkinzler
Du müsstest einen entsprechenden Report als Template haben
http://www.fast-report.com/de/documentation/

Bedeutet das man kann gar keinen neuen leeren Report erzeugen? Ich blick da irgendwie überhaupt nicht durch :gruebel: :gruebel:

Cogito 28. Apr 2010 15:23

Re: Datenmodell
 
Zitat:

Zitat von mkinzler
Du müsstest einen entsprechenden Report als Template haben
http://www.fast-report.com/de/documentation/

:wiejetzt: Bedeutet das man kann gar keinen neuen leeren Report erzeugen? Ich blick da irgendwie überhaupt nicht durch :gruebel:

Cogito 28. Apr 2010 15:26

Re: Datenmodell
 
Zitat:

Zitat von mkinzler
Du müsstest einen entsprechenden Report als Template haben
http://www.fast-report.com/de/documentation/

:wiejetzt: Bedeutet das man kann gar keinen neuen leeren Report erzeugen? Ich blick da irgendwie überhaupt nicht durch :gruebel:

Bebe 28. Apr 2010 17:49

Re: Datenmodell
 
Natürlich kann man einen leeren Report erstellen. Jedoch hilft dir das Template in diesen Fall nicht weiter, da es "nur" eine Vorlage für das Design vom Report ist, nicht aber die Datenbasis anzapft oder weiter gibt.

Ich hatte so ein ähnliches Problem, mir ging es aber hauptsächlich um die gemeinsame Nutzung von Reporten auf jedem Client PC. Dafür ich habe einfach eine Tabelle in der DB (MySQL) mit den notwendigen Feldern angelegt. Um die Datenbasis für diese Reporte festzulegen, lade ich auch den SQL String aus der Tabelle in die Query Komponente (MyDAC) rein. Ein Template nutze ich auch, da die Kopf.- und Fußzeile immer gleich aussehen soll. Irgendwann bin ich aber von dem SQL String weggegangen und speichere jetzt nur noch den Namen der Abfrage von der DB. War doch ein bisschen leichter zu verwalten. :) So erstelle ich jetzt nur noch eine Abfrage in der DB und der Kunde kann sich darüber einen neuen Report erstellen oder ändern, jedoch nichts an der Datenbasis.

So könnte ich mir auch die Lösung für dein Problem vorstellen. Tabelle in die DB, wo die Datenbasis als Querynamen abgelegt wurde. Bei einem neuen Report kann man nun einen leeren Report mit der gewünschten Datenbasis erstellen. Den Report(stream) habe im Blob Feld ebenso abgelegt, wie das verwendete Template (auch als Stream). Somit brauche ich nur ein "Code" um den gewünschten Report wiederkehrend und von überall zu öffnen. Jetzt ist es ein leichtes einen neuen Datensatz anzulegen und somit einen neuen Report.

Die Designer Komponente benötigst du, wenn du in der RunTime den Report im Designer Modus öffnen möchtest (genaus sowas willst du ja machen). Die Chart, BarCode, Gradient usw. benötigst du nur, wenn du die Objekte im Report eingefügt hast. Sobald du den Report in der Runtime öffnen willst und die Komponenten fehlen, gibt es einen Fehler. Die Export Komponenten fügst du nur dann hinzu, wenn du genau diese Export Funktionen in der RunTime nutzen möchtest. Wenn z. B. die PDFExport Komponente abgelegt hast, wird in der RunTime im Preview vom Report der Button zum erstellen von PDF's sichtbar. Da du ja dem Kunden die Reporterstellung möglich machen möchtest, bist du gezwungen alle Komponenten in das Programm aufzunehmen.

Alle Funktionen rufst du über die TfrxReport auf. Die Datenbasis lege ich in der TfrxDBDataset fest, die mit TfrxReport verknüpft ist.

Gruß
Matze

Cogito 29. Apr 2010 07:16

Re: Datenmodell
 
Zitat:

Zitat von Bebe
Natürlich kann man einen leeren Report erstellen. Jedoch hilft dir das Template in diesen Fall nicht weiter, da es "nur" eine Vorlage für das Design vom Report ist, nicht aber die Datenbasis anzapft oder weiter gibt.

Ich hatte so ein ähnliches Problem, mir ging es aber hauptsächlich um die gemeinsame Nutzung von Reporten auf jedem Client PC. Dafür ich habe einfach eine Tabelle in der DB (MySQL) mit den notwendigen Feldern angelegt. Um die Datenbasis für diese Reporte festzulegen, lade ich auch den SQL String aus der Tabelle in die Query Komponente (MyDAC) rein. Ein Template nutze ich auch, da die Kopf.- und Fußzeile immer gleich aussehen soll. Irgendwann bin ich aber von dem SQL String weggegangen und speichere jetzt nur noch den Namen der Abfrage von der DB. War doch ein bisschen leichter zu verwalten. :) So erstelle ich jetzt nur noch eine Abfrage in der DB und der Kunde kann sich darüber einen neuen Report erstellen oder ändern, jedoch nichts an der Datenbasis.

So könnte ich mir auch die Lösung für dein Problem vorstellen. Tabelle in die DB, wo die Datenbasis als Querynamen abgelegt wurde. Bei einem neuen Report kann man nun einen leeren Report mit der gewünschten Datenbasis erstellen. Den Report(stream) habe im Blob Feld ebenso abgelegt, wie das verwendete Template (auch als Stream). Somit brauche ich nur ein "Code" um den gewünschten Report wiederkehrend und von überall zu öffnen. Jetzt ist es ein leichtes einen neuen Datensatz anzulegen und somit einen neuen Report.

Die Designer Komponente benötigst du, wenn du in der RunTime den Report im Designer Modus öffnen möchtest (genaus sowas willst du ja machen). Die Chart, BarCode, Gradient usw. benötigst du nur, wenn du die Objekte im Report eingefügt hast. Sobald du den Report in der Runtime öffnen willst und die Komponenten fehlen, gibt es einen Fehler. Die Export Komponenten fügst du nur dann hinzu, wenn du genau diese Export Funktionen in der RunTime nutzen möchtest. Wenn z. B. die PDFExport Komponente abgelegt hast, wird in der RunTime im Preview vom Report der Button zum erstellen von PDF's sichtbar. Da du ja dem Kunden die Reporterstellung möglich machen möchtest, bist du gezwungen alle Komponenten in das Programm aufzunehmen.

Alle Funktionen rufst du über die TfrxReport auf. Die Datenbasis lege ich in der TfrxDBDataset fest, die mit TfrxReport verknüpft ist.

Gruß
Matze

Ich habe offen gestanden nicht ganz verstanden was du meinst. Könntest Du vielleicht etwas detaillierter erläutern was du mit "...Datenbasis als Querynamen ablegen" meinst? Könntest Du mir mal ein Beispiel geben wie ich dann auf einer vorher gemachten Abfrage basierend einen neuen Report im Designer erstellen kann? Das ganze ist mir einfach ein bisschen zu theoretisch... :gruebel:

Cogito 29. Apr 2010 09:12

Re: Datenmodell
 
So nach ein bisschen rumprobieren ist es mir nun gelungen, ein eigenes Dataset in den Designer zu bringen. Der Haken: nach der Aktivierung der eigenen Datasets tauchen diese rechts in der Baumstruktur auf und stehen zwar für die direkte Auswahl im Designer zur Verfügung, aber ich kann diese Datasets nicht auf der Data-Seite miteinander verknüpfen. Das geht anscheinend nur wenn ich eine direkte Verbindungskomponente nutze und mir innerhalb des Designers dann eine Verbindung und darauf basierend eine Abfrage aufbaue. Nur dann kann ich diese Abfrage auch im Designer auf der Data-Seite einfügen und deren Eigenschaften bearbeiten. Ist das wirklich so oder habe ich was übersehen?

Nebenbei gefragt: Wie kann ich es veranlassen, das links in der Objektleiste mehr Objekte auftauchen? Z.B. fehlt bei mir die Diagrammkomponente.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:33 Uhr.
Seite 5 von 6   « Erste     345 6      

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