Ich habe Access 2010 Formular, das eine ComboBox cmbSubTopic
hat, die zwei Spalten (SubTopicID
und SubTopic
) auflistet. Das Kombinationsfeld ist an ein Feld gebunden, das SubTopicID
enthält. Die SubTopicID
Spalte in der Combo-Box ist ausgeblendet, es zeigt nur die SubTopic
. Wenn der Benutzer eine SubTopic
aus dem Dropdown wählt, wird der entsprechende SubTopicID
in der Tabelle gespeichert. Ich schrieb einige VBA-Code für das On-Load-Ereignis des Formulars, um die SubTopicID
in der Tabelle nachschlagen und die entsprechende SubTopic
ist in der ComboBox ausgewählt. Meine aktuellen Code ist so etwas wie folgt aus:VBA: Wie wählt man Artikel aus einer ComboBox
Set rsST = dbs.OpenRecordset(strSqlst)
For i = 0 To Me.cmbSubTopic.ListCount - 1
If Me.cmbSubTopic.Column(0, i) = rsST.Fields("SubTopicID").Value Then
Me.cmbSubTopic.SetFocus
Me.cmbSubTopic.Selected(i) = True
Exit For
End If
Next i
Dies gibt die Fehlermeldung, dass:
Der eingegebene Text ist kein Element in der Liste
Ich habe auch versucht, diese mit :
Me.cmbSubTopic = Me.cmbSubTopic.Selected(i)
Dies wählt das Element in der ComboBox, aber es schreibt auch den Wert von I in das ID
Feld der Tabelle, die ich nicht will.
Im Allgemeinen haben Sie nichts zu tun für die Combobox, die eine Steuerquelle hat, da ihr Wert das der Underlyng-Tabelle ist. – jacouh
Gibt es eine Möglichkeit, ich kann das Einfügen der Daten in die Tabelle auf dem OnLoad-Ereignis des Formulars blockieren und dann Einfügen in das AfterUpdate-Ereignis der Combobox zulassen. – ksagar