Auswahlfeld erstellen - FAQ-Base

From The Document Foundation Wiki
< Faq‎ | Base‎ | 135
Jump to: navigation, search

Wie kann ich ein Auswahl-Feld erstellen?

Bei der Eingabe sollen aus den bereits im Feld enthaltenen Werten für den nächsten Datensatz Werte ausgewählt werden. Dies ist in Calc mit einer Auswahlliste möglich: ALT + .

In Base ist dies nicht in der Tabelleneingabe oder in einer Abfrage möglich. Stattdessen muss zuerst ein Formular erstellt werden.

In einem Formular wird ein Textfeld in ein Kombinationsfeld umgewandelt: Rechter Mausklick > Ersetzen durch ▸ Kombinationsfeld.

In dem Kombinationsfeld wird der Reiter Daten und dort die SQL-Eingabe aufgerufen: Rechter Mausklick > Kontrollfeld ▸ Daten ▸ Art des Listeninhaltes ▸ SQL.

Unter Listeninhalt wird eine Abfrage wie die folgende abgespeichert:

SELECT DISTINCT "Name" FROM "Tabelle" ORDER BY "Name" ASC

Das Schlüsselwort DISTINCT zwingt die Liste, Duplikate auszulassen.

Die Verwendung eines Kombinationsfeldes ermöglicht die Eingabe neuer Werte. Diese werden sofort in der Liste berücksichtigt, leider aber an das Ende der Liste angefügt. Erst bei einem erneuten Aufruf des Formulars oder bei einer Aktualisierung des Kombionationsfeldes werden die neuen Werte korrekt eingeordnet.

Mit Hilfe des folgenden Makros ist es möglich, die Aktualisierung direkt nach dem Verlassen des Kombinationsfeldes zu veranlassen:

SUB ListeAktualisieren(oEvent AS OBJECT)
oEvent.Source.Model.refresh
END SUB