Faq/Base/135/cs

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



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í:



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