Nejčastější dotazy/Base/135

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


    Jak implementovat rozbalovací nabídku?

    Při zadávání dat chcete mít možnost vybrat si ze seznamu hodnot, které jsou již v poli obsaženy. To je možné v textových hodnotách Calc pomocí výběrového seznamu (pravé tlačítko myši nebo Alt + Down).

    Chtěli bychom mít

    Výběr z unikátního indexu

    Base to umožňuje, ale pouze pomocí formuláře.

    • Jinými slovy, ne s přímým vstupem do tabulky.
    • Chcete-li to provést v režimu "tabulky" (datový list), vytvořte v datovém asistentovi formulář: vyhledávání pak probíhá prostřednictvím "kontrolní tabulky".

    Tato technika používá ovládací prvek combobox, jehož typem obsahu je SQL a obsahem je požadovaný výběr.

    SELECT DISTINCT "Instrument" FROM "Table1" ORDER BY "Instrument" ASC

    Poznámky:

    • Klíčové slovo DISTINCT přinutí seznam vynechat duplikáty.
    • Seznam je seřazen tak, aby usnadňoval vyhledávání.
    • Doporučuje se přidat index na vyhledávací pole (klikněte na tlačítko "Návrh indexu" v režimu editace tabulky).

    Toto jsou snímky obrazovek pro nastavení:

    SQL kód pro rozbalovací nabídku

    Pomocí ovládacího prvku combobox lze zadávat nové hodnoty. Ty jsou v seznamu okamžitě zohledněny, ale ve výchozím nastavení jsou přidány na konec seznamu až do příští aktualizace dat. Aktualizaci vynutíte vložením makra do události On got focus'. Makro by mělo vypadat nějak takto

    option explicit
    Sub PysAcutaliserListe(PysEvent)
    PysEvent.source.model.refresh
    End Sub
    

    Stáhněte si ukázkovou databázi