Ich habe gerade etwas ähnliches gemacht, daher weiß ich vermutlich, was du meinst. Schau dir zur Verdeutlichung die Datei-Anhänge dieses Postings an:
http://user.services.openoffice.org/en/ ... 02#p156032
Du musst für jede DropDownBox ein eigenes Hauptformular anlegen. Hier mal für die Kunden-Auswahl:
Der Schlüssel ist, in der Datenbank eine eigene Tabelle "Filter" anzulegen, die nur aus den Feldern Filter-ID und Filter-Wert besteht. In diese Tabelle speichert die DropdownBox deines HauptFormulars den ausgewählten Kunden als Filter-Wert.
# Das Hauptformular erhält als DatenQuelle deine Datenbank, "Art des Inhaltes" : "SQL-Befehl" und als "Inhalt" folgenden Code:
.
# Die DropDownBox erhält als Datenfeld das Feld FilterWert aus deiner Filter-Tabelle, als "Art des ListenInhaltes" : "SQL" und als "Inhalt":
(Den Code bitte an die Namen deiner KontakteTabelle und der entsprechenden Feldnamen anpassen oder einfach auf die drei Pünktchen hinter dem EingabFeld drücken und auswählen...)
Jetzt musst du nur noch den Datensatz in der Filter-Tabelle und das Hauptformular aktualisieren, das habe ich über einen Button gelöst mit der Eigenschaft "Aktion" : "Formular aktualisieren". Eleganter ist wahrscheinlich, dem Listenfeld-Ereignis "Modifiziert" ein Makro zuzuweisen, das den neuen Wert in der Tabelle Filter speichert.
Die von diesem Filter abhängigen Formulare musst du nun als UnterFormulare von dem Hauptformular anlegen und dabei eine "Verknüpfung" herstellen von "Kontakt-ID" der Tabelle Filter zu "Kontakt-ID" der Tabelle Kontakte.
Geschafft.
Die entsprechenden Daten in deine Vorlage einlesen tust du, indem du in der Vorlage wiederum das gleiche HauptFormular anlegst, dann als Unterformulare diejenigen die die gefilterten Datensätze aus den jeweiligen Tabellen holen sollen. Nun kannst du lauter Textfelder in den Unterformularen anlegen, die dir die entsprechenden Feldwerte in deine Vorlage holen.
Daten in DokumentenVorlage einlesen:
Ich habe auf meinem "Kopfformular" einen Button angelegt und ihn mit der "Aktion" : "Webseite/Dokument öffnen" versehen und als "URL" die Vorlage.ott angegeben.
Weiterhin habe ich dort Buttons, die das jeweils benötigte Formular (z.B. "Prüfbericht") öffnen, wobei bei mir diese Formulare jeweils wieder als separate Dateien aufgerufen werden, die sich aber beim Laden mit den gefilterten Daten versorgen (s. StandAlone).
Schließlich kann ich dir nur empfehlen, dir einmal die Hinweise zu StandAlone-Formularen anzusehen:
http://user.services.openoffice.org/en/ ... 83&t=40493
Jetzt viel Erfolg beim Tüfteln,
jemies
Ich habe gerade etwas ähnliches gemacht, daher weiß ich vermutlich, was du meinst. Schau dir zur Verdeutlichung die Datei-Anhänge dieses Postings an:
[url]http://user.services.openoffice.org/en/forum/viewtopic.php?f=13&t=34002#p156032[/url]
Du musst für jede DropDownBox ein eigenes Hauptformular anlegen. Hier mal für die Kunden-Auswahl:
Der Schlüssel ist, in der Datenbank eine eigene Tabelle "Filter" anzulegen, die nur aus den Feldern Filter-ID und Filter-Wert besteht. In diese Tabelle speichert die DropdownBox deines HauptFormulars den ausgewählten Kunden als Filter-Wert.
# Das Hauptformular erhält als DatenQuelle deine Datenbank, "Art des Inhaltes" : "SQL-Befehl" und als "Inhalt" folgenden Code:
[code]select * from "Filter" where ID=0[/code].
# Die DropDownBox erhält als Datenfeld das Feld FilterWert aus deiner Filter-Tabelle, als "Art des ListenInhaltes" : "SQL" und als "Inhalt":
[code]SELECT "Kontakt-ID" FROM "Kotakte" AS "Kontakte"[/code]
(Den Code bitte an die Namen deiner KontakteTabelle und der entsprechenden Feldnamen anpassen oder einfach auf die drei Pünktchen hinter dem EingabFeld drücken und auswählen...)
Jetzt musst du nur noch den Datensatz in der Filter-Tabelle und das Hauptformular aktualisieren, das habe ich über einen Button gelöst mit der Eigenschaft "Aktion" : "Formular aktualisieren". Eleganter ist wahrscheinlich, dem Listenfeld-Ereignis "Modifiziert" ein Makro zuzuweisen, das den neuen Wert in der Tabelle Filter speichert.
Die von diesem Filter abhängigen Formulare musst du nun als UnterFormulare von dem Hauptformular anlegen und dabei eine "Verknüpfung" herstellen von "Kontakt-ID" der Tabelle Filter zu "Kontakt-ID" der Tabelle Kontakte.
Geschafft.
Die entsprechenden Daten in deine Vorlage einlesen tust du, indem du in der Vorlage wiederum das gleiche HauptFormular anlegst, dann als Unterformulare diejenigen die die gefilterten Datensätze aus den jeweiligen Tabellen holen sollen. Nun kannst du lauter Textfelder in den Unterformularen anlegen, die dir die entsprechenden Feldwerte in deine Vorlage holen.
Daten in DokumentenVorlage einlesen:
Ich habe auf meinem "Kopfformular" einen Button angelegt und ihn mit der "Aktion" : "Webseite/Dokument öffnen" versehen und als "URL" die Vorlage.ott angegeben.
Weiterhin habe ich dort Buttons, die das jeweils benötigte Formular (z.B. "Prüfbericht") öffnen, wobei bei mir diese Formulare jeweils wieder als separate Dateien aufgerufen werden, die sich aber beim Laden mit den gefilterten Daten versorgen (s. StandAlone).
Schließlich kann ich dir nur empfehlen, dir einmal die Hinweise zu StandAlone-Formularen anzusehen:
[url]http://user.services.openoffice.org/en/forum/viewtopic.php?f=83&t=40493[/url]
Jetzt viel Erfolg beim Tüfteln,
jemies