Zeile in Kombinations-/Listenfeld auswählen


Problembeschreibung


Sie möchten in einem Kombinationsfeld oder in einem Listenfeld ohne Zutun des Anwenders eine bestimmte Zeile auswählen bzw. eine bestimmte Zeile als Voreinstellung markieren lassen.

Lösung


Sie können eine Zeile in einem Kombinationsfeld oder Listenfeld mittels der ItemData-Eigenschaft des Steuerelementes auswählen. Die häufigste Anwendung dafür ergibt sich aus dem Wunsch, beim Öffnen eines Formulars den ersten Eintrag eines Kombinationsfeldes oder Listenfeldes als vorausgewählt erscheinen zu lassen. Sie können das erreichen, indem Sie in der Eigenschaft "Standardwert" des Steuerelementes folgenden Ausdruck eingeben:

[Name_des_Steuerelementes].[ItemData](0)

Um z.B. die erste Zeile in einem Kombinationsfeld [Kundenauswahl] zu markieren, lautet der Ausdruck für den Standardwert von [Kundenauswahl]:

[Kundenauswahl].[ItemData](0)

Die Zahl 0 in Klammern ist dabei der Zeilenindex. Dieser Index beginnt mit 0 für die erste Zeile, 1 für die zweite usw.

Sie können eine bestimmte Zeile auch per Code auswählen. Schreiben Sie dazu bei einem passenden Ereignis (z.B. beim Öffnen des Formulars) folgenden VBA-Code, um die erste Zeile zu markieren:

Me![Name_des_Steuerelementes] = Me![Name_des_Steuerelementes].ItemData(0)

Wenn Sie z.B. ein Formular "frmArtikel" mit einem Listenfeld [Artikelliste] haben und in dieser Liste der 10. Eintrag ausgewählt werden soll, dann lautet der Code innerhalb des Formulars:

Me!Artikelliste = Me!Artikelliste.ItemData(9)

Wenn sich der Code außerhalb des Formulars befindet (anderes Formular, öffentliches Modul etc.) müsste der Code lauten:

Forms!frmArtikel!Artikelliste = Forms!frmArtikel!Artikelliste.ItemData(9)