Thema: Delphi Datenmodell

Einzelnen Beitrag anzeigen

Bebe

Registriert seit: 3. Apr 2005
Ort: Berlin
104 Beiträge
 
Delphi 10.1 Berlin Professional
 
#48

Re: Datenmodell

  Alt 28. Apr 2010, 18:49
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
  Mit Zitat antworten Zitat