Verknüpfte Tabelle als Combo Box/Radio Button max. 130 Einträge?
Moin,
ich will mir eine verknüpfte Tabelle gerne als Combo Box anzeigen lassen. Die Tabelle hat über 200 Einträge.
Kann es sein, dass ninox bei Combo Boxen nur etwa 130 Einträge anzeigt (wenn ich mich nicht verzählt habe)?
Die Suche in der Combo Box findet nur die angezeigten Einträge, also nicht alle!
Dasselbe Limit habe ich auch bei Radio Buttons.
Nur bei der Anzeige als Pop-Up werden alle Einträge angezeigt und in der Suche gefunden.
7 Antworten
-
Hallo Torsten, ja, die Zahl der anzuzeigenden Einträge bei Verknüpfungen und dynamischen Auswahlfeldern ist begrenzt. Bei Ninox hat vermutlich niemand damit gerechnet, dass es Nutzer geben könnte, die Hunderte Auswahl-Einträge in einer Combo-Box anzeigen lassen wollen.
Wenn man die Popup-Option aus irgendwelchen Gründen nicht nutzen will, muss man die Datensätze der Gegentabelle vorher filtern. Einfaches Beispiel: Zur Auswahl sollen nur Datensätze angezeigt werden, bei denen das Textfeld 'Name' mit einem bestimmten Buchstaben beginnt.
Dazu würde man der Verknüpfung ein Textfeld ('Filter') vorschalten, in das der betreffende Buchstabe eingetippt wird. In den Optionen des Verknüpfungsfeldes könnte man unter "Einschränkungen" folgendes eingeben:
substr(b.Name, 0, 1) = a.Filter
Andere Möglichkeit: Mit dynamischen Auswahlfedern eine gegliederte Auswahl realisieren. Beispiel: Es sollen Artikel verknüpft werden, die nach Artikelgruppen gegliedert sind. Dann könnte man in einem ersten DynAF zunächst die Artikelgruppe auswählen, das zweite DynAF würde nur noch die dazugehörigen Artikel anzeigen.
-
Die Aussage ist nur zum Teil richtig. Verknüpfungen sind als Combo Box in der Anzahl der Einträge limitiert, dyn. Aufwahlfelder als Combo Box aber nicht. Da hab ich welche mit mehreren tausend Einträgen und das läuft reibungslos.
-
Ah, okay. Danke für die Richtigstellung. Meinte, das schon mehrfach als Kritikpunkt gelesen zu haben. Ich selbst bin offen gestanden noch nicht auf die Idee gekommen, eine Auswahl-Liste mit mehreren hundert oder gar tausend Einträgen zu erstellen. Nicht mal testweise ... ;)
Wenn das mit dynamischen Auswahlfeldern aber tatsächlich funktioniert, dann kann man sie, um auf die Ausgangsfrage zurückzukommen, auch zur Auswahl des zu verknüpfenden Datensatzes nutzen und die Verknüpfung bei Bedarf selbst mot einem Änderungstrigger erstellen lassen.
PS: Technisch betrachtet stellt sich dann natürlich die Frage, warum die Anzahl im einen Fall begrenzt ist, im anderen nicht.
-
Dynamische Auswahlfelder helfen mir leider nicht weiter, denn ich möchte nutzerfreundlich n:m-Beziehungen pflegen. Um bei Standardbeispielen zu bleiben: DB für einen Lesezirkel, je eine Tabelle mit Lesern und eine mit Büchern.
Wer hat welches Buch gelesen bzw. welches Buch wurde von wem gelesen?
Das sollte der Leser mit 1-2 Klicks schnell auswählen können
-> Combo Boxen oder Radio Buttons um neue Einträge anzulegen. Mit den Popups braucht man 3 Klicks und die Auswahlliste ist deutlich länger (weil Zeilenhöhe pro Eintrag).
OK, man hat eine Suche. In meinem Anwendungsfall braucht man die nicht, weil jeder "Leser" von mir das Kürzel aller seiner "Bücher" im Kopf hat.Es ist schon widersprüchlich, dass dynamische Auswahlfelder nicht limitiert sind, da sie durch die Arrays im Hintergrund deutlich mehr Performance etc. schlucken.
Die sind für mich auch keine Lösung, da ich die n:m-Beziehung hinterher von beiden Seiten auswerten möchte. -
Torsten Dörschel said:
Wer hat welches Buch gelesen bzw. welches Buch wurde von wem gelesen?Also, das wäre kein Problem. Für eine N:M-Verbindung muss man im Änderungstrigger halt zwei Verknüpfungen setzen. Wenn es also tatsächlich nur um die Auswahl des zu verknüpfenden Datensatzes geht, so ist das mit dynamischen Auswahlfeldern gut machbar. Ich habe mal eine einfache Beispiel-DB dazu erstellt.
-
Torsten Dörschel Du könntest die Combobox über ein Auswahlfeld, z.B. mit den zwei Feldern A-M und N-Z alphabetisch, oder anderere Gruppen, vorfiltern. Das reduziert die Ansicht. Die Möglichkeit findest Du bei "Einschränkungen" in der Einstellung des Verknüpfungsfelds. Ist aber ein Klick mehr und braucht ein bisschen Scripting. Mirko
-
planox. pro danke für die Erklärung und und die Beispiel-DB. So habe ich es auch umgesetzt. Es zwar noch nicht ganz so, wie ich es idealerweise hätte. Aber dann müsste man mit den dynamischen Mehrfach-Auswahlen und deren Rückgabewerten hantieren. Und das ist wohl nicht trivial, siehe andere Foren-Threads.
Ich habe nur den Änderungs-Trigger um eine Bedingung ergänzt, damit keine doppelten Einträge in der LeserBücher-Tabelle erzeugt werden:
let myL := this; let myB := record('Bücher',number(Neues_Buch)); let myCNT := cnt(select 'Bücherleser' where myL = Leser and myB = 'Bücher'); if myCNT = 0 then let newBL := (create 'Bücherleser'); newBL.('Bücher' := myB); newBL.(Leser := myL) end; Neues_Buch := 0
Content aside
- vor 1 JahrZuletzt aktiv
- 7Antworten
- 109Ansichten
-
5
Folge bereits