Wieder ein Tipp, der auf eine Anfrage zurückgeht und da
es ja nie nur einen gibt, der nach so einer Lösung sucht, soll es die Antwort als Tipp
geben.
Aufgabenstellung :
User soll eine Eingabe in eine Textbox machen und nach dem Beenden der Eingabe, soll
dieser in einer Combobox zur Auswahl stehen. Übernommen werden soll die Eingabe aber nur,
wenn der Eintrag noch nicht vorhanden ist.
Kurzer Rede, kurzer Tipp.
Zum Umsetzen des Tipps benötigen Sie auf Ihrer Form eine Combobox (Combo1) und eine
Textbox (Text1). Definieren Sie die Combobox in der Style Eigenschaft als DropDown-Liste.
Realisierung :
Wieder bedienen wir uns, der Text1_KeyPress(KeyAscii As Integer) Methode
der Textbox. diese tut nichts, so lange nicht die ENTER Taste gedrückt wird, die
Texteingabe also beendet ist.
Text1_KeyPress
'Variable zur Auswertung, ob Eintrag schon existiert oder nicht
Dim wert_existiert_schon As Boolean
'wurde ENTER Taste gedrückt
If KeyAscii = 13 Then
'zurücksetzen der Variable
wert_existiert_schon = False
'For - Next Schleife zum Überprüfen aller vorhanden Combobox Einträge
For i = 0 To Combo1.ListCount - 1
'existiert der Eintrag schonmal
If UCase(Text1.Text) = UCase(Combo1.List(i)) Then
'Eintrag existiert schon, Variable auf
True setzen
wert_existiert_schon = True
End If
Next i
'Wenn Variable noch auf False gesetzt ist, existiert der Eintrag noch nicht
...
If wert_existiert_schon = False Then
'... und wird zur Combobox hinzugeführt
Combo1.AddItem Text1.Text
End If
'Eingabe zurücksetzen
Text1.Text = ""
End If
|