Seite 1 von 1
Writer-Dokument dynamisch mit Datenbank-Daten befüllen
Verfasst: Di, 27.07.2010 10:30
von hubsif
Hallo,
Ich habe schon viel im Internet gesucht, jedoch nicht wirklich was zu dem gefunden, was ich machen will. Deshalb frage ich jetzt mal hier nach:
Ich habe ein Writer-Dokument, welches ich mit Daten aus einer Datenbank ergänzen möchte. Das ganze soll dynamisch sein, genau hier liegt mein Problem.
Ein Beispiel bzw. genauere Beschreibung was ich vor habe:
Auf meiner Titelseite steht der Name des Monats für den mein Dokument erstellt wird. Später im Dokument folgen einige Tabellen und Textstellen die aus der Datenbank generiert werden. Das Query dazu soll den genannten Monatsnamen verwenden (z.B. "SELECT COUNT(*) from datensaetze WHERE monat=<Monatsname aus Writer-Textstelle>;).
Ausserdem hätte ich darunter gerne eine Tabelle mit entsprechenden Datensätzen aus der Datenbank, die die Monatseinträge enthält (z.B. "SELECT * from datensaetze WHERE monat=<Monatsname aus Writer-Textstelle>;).
Ich habe mir das alles so gedacht, dass ich dann nur noch die Textstelle mit dem Monatsnamen anpasse und das Dokument dann entsprechend aktualisiert wird.
Falls ich mich verständlich genug ausgedrückt habe:
Ist so etwas überhaupt möglich? Wenn ja wie?
Vielen Dank schonmal!
hubsif.
Re: Writer-Dokument dynamisch mit Datenbank-Daten befüllen
Verfasst: Di, 27.07.2010 10:48
von komma4
Willkommen in Forum.
hubsif hat geschrieben: "SELECT COUNT(*) from datensaetze WHERE monat=<Monatsname aus Writer-Textstelle>"
[...]
Ich habe mir das alles so gedacht, dass ich dann nur noch die Textstelle mit dem Monatsnamen anpasse und das Dokument dann entsprechend aktualisiert wird.
Anders herum "wird ein Schuh draus":
erstelle Deine Abfrage als
Parameterabfrage (<= Dein Suchbegriff für die Forensuche hier)
Ziehe die Felder aus der Ergebnistabelle in Deine Writer-Vorlage.
Erstellst Du nun ein neues Dokument wird die Abfrage neu ausgeführt, Du gibst den Parameter (Monatsname oder -zahl?) ein, und die Felder im neuen Writer-Dokument werden automatisch gefüllt.
Bemühe mal die Forensuche und melde Dich bei Fragen wieder.
Errgänzung: auch viele anschauliche Beschreibungen im
http://www.ooowiki.de , Kategorie Writer, siehe DatenUndTextMischen, CalcSerienbriefe etc.
Re: Writer-Dokument dynamisch mit Datenbank-Daten befüllen
Verfasst: Mo, 02.08.2010 16:15
von hubsif
Hallo,
Danke für deine Antwort.
Das mit der Parameterabfrage habe ich verstanden (auch wenn's noch nicht richtig funktioniert). Allerdings schade, dass ich scheinbar keinen Text aus dem Writer-Dokument dafür nutzen kann.
Allerdings konnte ich noch nicht herausfinden, wie ich eine Ergebnistabelle in Writer anzeigen lassen kann.
Ich hätte z.B. gerne das Ergebnis des Statments "SELECT * from tabelle where bedingung=parameter" als Tabelle eingebunden, die Zahl der Ergebniszeilen kann dabei variieren.
Derzeit krieg ich es nur hin, die Ergebnistabelle in Writer "hineinzuziehen", wonach die Tabelle aber nicht mehr dynamisch ist.
Hast du dazu noch einen Tipp?
Danke!
hubsif.
Re: Writer-Dokument dynamisch mit Datenbank-Daten befüllen
Verfasst: Mo, 02.08.2010 17:26
von komma4
hubsif hat geschrieben:das Ergebnis des Statments "SELECT * from tabelle where bedingung=parameter" als Tabelle eingebunden, die Zahl der Ergebniszeilen kann dabei variieren.
Nimm den Berichts-Assistenten des BASE-Dokuments, der kann dynamische Berichte erstellen
Deine Abfrage muss ausserdem die Syntax
WHERE bedingung = :parameter haben
HTH
Re: Writer-Dokument dynamisch mit Datenbank-Daten befüllen
Verfasst: Mo, 02.08.2010 19:32
von hubsif
komma4 hat geschrieben:Nimm den Berichts-Assistenten des BASE-Dokuments, der kann dynamische Berichte erstellen
Mit meinem gefährlichen Halbwissen weiss ich jetzt leider nicht, wie ernst diese Antwort gemeint war...
Meinen Versuchen zufolge kann ich aus so einem Report kaum ein vernünftiges Dokument erstellen, sondern bin an den ganzen Automatismus gebunden?!
hubsif.
Re: Writer-Dokument dynamisch mit Datenbank-Daten befüllen
Verfasst: Di, 03.08.2010 09:52
von komma4
hubsif hat geschrieben:komma4 hat geschrieben:wie ernst diese Antwort gemeint war...
War schon ernst gemeint.
Natürlich kannst Du den Bericht nach der Erstellung bearbeiten (re. Maustaste). Es öffnet sich ein "normales" Writer-Dokument mit einem Bereich, der die Tabelle der Abfrage enthält.
Meine Versuche unterhalb der Tabelle Text zu editieren waren nicht sehr erfolgreich... vllt. kann einer der Kollegen noch einen Tipp hierzu abgegeben.
Ansonsten sei hier noch auf den Sun Report Builder verwiesen, den Du auf der
Seite der Extensions (Erweiterungen) findest. Inwieweit der besser ist ... kann ich auch nicht sagen.
Den Grund dafür schiebe ich nach:
ich erstelle solche Dokumente mit BASIC. Da ist es relativ einfach eine gespeicherte Abfrage (auch Parameter-A.) abzurufen und das Ergebnis in eine Texttabelle in den Writer zu integrieren.
Zu Deinen Versuchen wünsche ich Dir:
Viel Erfolg!
Re: Writer-Dokument dynamisch mit Datenbank-Daten befüllen
Verfasst: Do, 12.08.2010 08:37
von hubsif
komma4 hat geschrieben:
Zu Deinen Versuchen wünsche ich Dir:
Viel Erfolg!
Meine Versuche waren leider nicht von Erfolg gekrönt. Hab viel rumprobiert und im Internet recherchiert. Hab aber keinen der Punkte wirklich hinbekommen, auch nicht mit Zwischenweg über Calc.
Muss mir wohl was anderes einfallen lassen...
Danke für die Hilfe!
hubsif.
Re: Writer-Dokument dynamisch mit Datenbank-Daten befüllen
Verfasst: Do, 12.08.2010 19:38
von komma4
Das hat mir nun keine Ruhe gelassen....
Im Anhang zwei Dateien.
Die BASE-Datei
- de40580.odb
- Beispiel-Datenbank, interne HSQLDB
- (6.28 KiB) 109-mal heruntergeladen
dient als Test-Datenquelle und wird durch das Makro genutzt (muss als Datenquelle registriert werden).
Am Writer-Dokument
- de40580-Makro.odt
- Writer-Dokument mit Makro-Modul
- (18.52 KiB) 125-mal heruntergeladen
ist ein Makro-Modul angehängt. Dort ist (für den Einsatz mit Deiner Datenbank) der Name der registrierten Datenquelle zu ändern.
Das Makro
de40580 im
Modul1 listet die definierten Abfragen der BASE-Datei auf, führt eine gewählte Abfrage aus und schreibt die Ergebnisse in der Writer-Datei in eine Texttabelle, die an der Cursorposition erzeugt wird.
Das ganze ist nur ein erster Entwurf... (keine Fehlerüberprüfung, noch nicht alle Datentypen enthalten)... aber vielleicht kann der ein oder andere damit etwas anfangen.
Viel Erfolg!
Re: Writer-Dokument dynamisch mit Datenbank-Daten befüllen
Verfasst: Mi, 06.10.2010 11:34
von MikeRo
Hallo komma4,
ich habe mal deine Dateien heruntergeladen und versucht Sie auszuführen, bekomme allerdings eine Fehlermeldung.
BASIC-Laufzeitfehler
Objektvariable nicht Belegt.
und markiert ist diese Zeile
oViewCursor = oDok.getCurrentController().getViewCursor()
Ich würde auch gern mal wissen, ob du einen Tipp, hast wo ich mich am besten einlesen kann um so etwas auch selber erstellen zu können.
Re: Writer-Dokument dynamisch mit Datenbank-Daten befüllen
Verfasst: Di, 12.10.2010 19:03
von komma4
Du startest das Makro aus einem Writer-Dokument?
Zum Einlesen meine Nummer Eins:
das Makro-Dokument von Andrew
Viel Erfolg!
Re: Writer-Dokument dynamisch mit Datenbank-Daten befüllen
Verfasst: Di, 12.10.2010 22:36
von MikeRo
komma4 hat geschrieben:Du startest das Makro aus einem Writer-Dokument?
Zum Einlesen meine Nummer Eins:
das Makro-Dokument von Andrew
Viel Erfolg!
Erst mal danke und ja ich starte es aus dem Writer Dokument