Date: prev next · Thread: first prev next last
2014 Archives by date, by thread · List index


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: users+unsubscribe@de.libreoffice.org
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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.