Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Wertliste zu lang für Combobox

Begonnen von H3llo, November 25, 2024, 16:03:09

⏪ vorheriges - nächstes ⏩

H3llo

Hallo zusammen,

ich habe in einem Formular eine Combobox, für die ich aus einer externen DB-Tabelle eine Wertliste erstellte. Bei der Zuweisung der Wertliste als Rowsource erhalte ich jedoch den Fehler "2176: Die Einstellung dieser Eigenschaft ist zu lang." Die Wertliste besteht auch aus ca. 9000 Einträgen. Wenn ich die Anzahl der Einträge auf z. B. 1000 begrenze, funktioniert alles, ich will jedoch die komplette Liste zur Auswahl haben.

Daher meine Frage: Gibt es eine Möglichkeit, diese Begrenzung für die Combobox zu umgehen oder was habe ich für Alternativen, um eine Auswahl aus allen Werten zu ermöglichen?

Vielen Dank im Voraus!

PhilS

Zitat von: H3llo am November 25, 2024, 16:03:09ich habe in einem Formular eine Combobox, für die ich aus einer externen DB-Tabelle eine Wertliste erstellte.
Warum erstellst du die Werteliste?
Stattdessen könntest du entweder, direkt die externe Tabelle verwenden, oder dir eine lokalen Tabelle erstellen, die dieselben Werte enthält.

Wenn beides nicht möglich ist (warum?), dann bleibt nur noch eine Rowsource Function.
 
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Knobbi38

Hallo,

das scheint ein falscher Design-Ansatz zu sein. Die Anzahl der Einträge in Komboboxen sollte naturgemäß eher klein gehalten werden. Entscheidend ist übrigens nicht die Anzahl der Einträge, sondern die Länge des Strings, welcher der Rowsource Eigenschaft zugewiesen wird.
Btw. bei so vielen Einträgen könnte eine Rowsource-Funktion wahrscheinlich zu langsam werden.

Gruß
Knobbi38
 

H3llo

Hallo Phil, danke für deine Antwort. Wie verwende ich denn eine externe Tabelle als Datenquelle?

Hallo knobbi, in der Combobox sollen alle Namen aus einer externen Adressliste aufgelistet sein. Ich weiß nicht, wie ich in diesem Anwendungsfall die Anzahl der Einträge reduzieren sollte oder generell eine Auswahl aller Werte anders ermöglichen könnte. Wie ich schon geschrieben habe, Ideen sind sehr gerne gesehen!

MzKlMu

#4
Hallo,
ZitatWie verwende ich denn eine externe Tabelle als Datenquelle?
das kann man doch in den Eigenschaften des Kombis einstellen.

Herkunftstyp: Tabelle/Abfrage
Datenquelle: Tabellenname

Die externe Tabelle vorher entweder importieren oder (vermutlich besser) verlinken.
Gruß Klaus

Knobbi38

Hallo,

du könntest z.B. die Kombobox nur teilweise laden. Siehe mal, wie Allen das in diesem Beispiel gemacht hat:
http://www.allenbrowne.com/ser-32.html
Du könntest bei der Anzahl an Einträgen ja z.B. schon auf den ersten Buchstaben filtern.


MzKlMu

Hallo,
wenn man die Eigenschaft "Automatisch ergänzen" des Kombis nutzt, sind auch 9000 Einträge kein Problem.
Jedes Zeichen verfeinert die Auswahl immer weiter.
Gruß Klaus

Beaker s.a.

ZitatDie externe Tabelle vorher entweder importieren oder (vermutlich besser) verlinken.
Muss doch irgendwie schon im Zugriff sein, sonst könnte er daraus ja keine Werteliste generieren.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

MzKlMu

Hallo,
ZitatMuss doch irgendwie schon im Zugriff sein,
Irgendwie ist ja nicht definiert, ich wollte es halt nur erwähnt haben.
Gruß Klaus

H3llo

Hallo, auch wenn ich noch nicht alles getestet habe, wollte ich mich schonmal melden und vielen Dank für die vielen Beiträge sagen! Ich werde alles zeitnah ausprobieren und anschließend Rückmeldung geben!

H3llo

Hallo zusammen,

ich habe die externe Tabelle mit Access verknüpft und diese dann in der Rowsource des Controls verwandt. Funktioniert jetzt einwandfrei.

Nochmal vielen Dank für die viele Hilfe!

Viele Grüße