Delphi-PRAXiS
Seite 2 von 2     12   

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 14:21

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

Cogito 28. Apr 2010 15: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 16:02

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

mkinzler 28. Apr 2010 16: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 16: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 16: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 16: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 18: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 08: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 10: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.

mkinzler 29. Apr 2010 10:17

Re: Datenmodell
 
Die entsprechenden Komponenten müssen auf der Delphi-Form liegen

Cogito 29. Apr 2010 10:31

Re: Datenmodell
 
Zitat:

Zitat von mkinzler
Die entsprechenden Komponenten müssen auf der Delphi-Form liegen

Aber da gibt es keine Chart-Komponente???

mkinzler 29. Apr 2010 10:49

Re: Datenmodell
 
Liste der Anhänge anzeigen (Anzahl: 1)
Das muss dann aber an der Demoversion liegen

Cogito 29. Apr 2010 11:03

Re: Datenmodell
 
Zitat:

Zitat von mkinzler
Das muss dann aber an der Demoversion liegen

oder an dem Konflikt der nach der Installation bei mir auftrat.
Nun soll der Ausdruck später bei mir ja auch planbar und per Scheduler einstellbar sein. Deshalb muss der Druck in eigenes Programm ausgelagert werden. Deshalb ist es für mich interessant zu wissen, ob der Report-Designer die eigenen Datasets mit ihren Verbindungen mit dem Report abspeichert und dann später beim Ausdruck weiss wo er die Daten herbekommt, oder muss ich die ganzen Queries und Tables im Source wieder aufbauen?

Cogito 29. Apr 2010 12:48

Re: Datenmodell
 
Weiß zufällig jemand, ob man den SQL Query Builder im Report-Designer austauschen könnte? Ich habe da nämlich einen wesentlich besseren...

mkinzler 29. Apr 2010 12:53

Re: Datenmodell
 
Einfach den eingebauten im Designer wegkonfigurieren und eigenen Verwenden

Cogito 29. Apr 2010 14:27

Re: Datenmodell
 
Zitat:

Zitat von mkinzler
Einfach den eingebauten im Designer wegkonfigurieren und eigenen Verwenden

wie wegkonfigurieren, verstehe ich nicht, ist der Befehl zum Aufruf des SQL Builders konfigurierbar?

Bebe 29. Apr 2010 19:35

Re: Datenmodell
 
Wenn du den Active Query Builder meinst, dann hilft dir vielleicht der Link . Den habe ich eben gefunden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:15 Uhr.
Seite 2 von 2     12   

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 by Thomas Breitkreuz