Frequently asked questions - Base

    From The Document Foundation Wiki
    < Faq‎ | Base
    This page is a translated version of the page Faq/Base/135 and the translation is 69% complete.


    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:

    The technique uses a combobox control whose content type will be Sql and the contents is the required selection.

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

    Notes:

    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.

    SQL code for the combobox

    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