Hallo Wolfgang, > > > ich habe das inzwischen so gelöst, dass ich den Wert der ID, der an das > zu öffnende Formular übergeben werden soll als INTEGER in eine > "formularfilter"-Tabelle speichere, die aus zwei Tabellenfeldern besteht > nämlich aus einem Indexfeld und einem normalen INTEGER Feld. Ich > speichere die ID des aufzurufenden Datensatzes mit einem SQL-Statement > immer in den ersten Datensatz, also 0.
Das Indexfeld stelle ich übrigens grundsätzlich bei dieser Ein-Datensatz-Tabelle auf ein boolsches Ja/Nein-Feld ein. > Und dann habe ich folgende > Abfrage erstellt: > > SELECT "user"."u_nachname", "user"."u_vorname", "formularfilter"."ID", > "user"."u_ID" FROM "user", "formularfilter" WHERE "user"."u_ID" = > "formularfilter"."Wert" AND "formularfilter"."ID" = 0 Geht auch einfacher: SELECT * FROM "user" WHERE "u_ID" = ( SELECT "Wert" FROM "formularfilter" WHERE "ID" = 0 ) Und wenn Du mit dem gleichen Formular einmal alle User anzeigen lassen möchtest, also keine "u_ID" weitergibst, dann geht das folgendermaßen: SELECT * FROM "user" WHERE "u_ID" = IFNULL(( SELECT "Wert" FROM "formularfilter" WHERE "ID" = 0 ),"u_ID") > > Darauf ist jetzt das Formular aufgebaut. Ok, das funktioniert, aber ich > finde es irgendwie nicht elegant. Viel Aufwand um eine kleine Zahl aus > dem einen Formular einem anderen Formular bekannt zu machen :-)). Bei mir laufen sehr wenige Formulare direkt mit einer Tabelle. Da ist dann sowieso immer eine Abfrage Grundlage. Dann habe ich Berechnungen im Formular mit drin, stelle andere Werte dar usw. Die Filtertabelle benutze ich primär zum Suchen und Filtern von Datensätzen. Das geht bedeutend schneller als mit den eingebauten Funktionen. Ob da dann nun ein Feld mehr steht. Außerdem hat so ein Vorgehen auch den Vorteil, dass Du z.B. einen Bericht auch von nur einem Datensatz anfertigen kannst. Ein Bericht wird genbauso wie Dein Formular dann über die ID angesteuert. Für mich ist das eine gut nutzbare Universallösung. Gruß Robert -- Liste abmelden mit E-Mail an: [email protected] Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
