PDA

Vollständige Version anzeigen : Listbox überprüfen ob Eintrag schon vorhanden ist


bendigo
28.09.2005, 10:28
hallo ich brauche eine globale funktion mit der ich überprüfen kann ob in der angegebenen listbox der wert der listbox enthalten ist.

doch leider gibt er mir immer einen fehler im kompilieren aus -- Typen unverträglich -- ich kann doch ein bestehendes control normal der funktion übergeben ????

Berater ist ein Listenfeld -- wie muss ich das listenfeld übergeben???

If ListboxWertVorhanden("Berater", Me.Berater.Value) = False Then
....

end if


Function ListboxWertVorhanden(Listbox As Listbox, Wert As String) As Boolean

Dim ctl As Control
Dim varElement As Variant
Dim Vorhanden As Boolean

Vorhanden = False
Set ctl = Listbox
For varElement = 0 To ctl.ListCount - 1
If ctl.Column(0, varElement) = Wert Then
Vorhanden = True
End If
Next varElement

ListboxWertVorhanden = Vorhanden

End Function

sitzte voll auf der leitung

gruss
pascal

rita2008
28.09.2005, 10:35
If ListboxWertVorhanden("Berater", Me.Berater.Value) = False Then

Du übergibst als ersten Parameter den String "Berater", nicht die Listbox. Richtig müsste es heißen:

If ListboxWertVorhanden(Me.Berater, Me.Berater.Value) = False Then

Allerdings verstehe ich nicht ganz, warum Du nach Me.Berater.Value abfragst, der Eintrag ist doch ganz bestimmt in der Listbox enthalten.

mfg Rita

bendigo
28.09.2005, 10:50
ich sollte einfach nur abfragen ob der wert in der listbox eingetragen wurde in der werteliste vorkommt.

Smaug
28.09.2005, 11:02
Function ListboxWertVorhanden(Listbox As Listbox, Wert As String) As Boolean
Dim ctl As Control
Dim varElement As Variant
Set ctl = Listbox
For varElement = 0 To ctl.ListCount - 1
If ctl.Column(0, varElement) = Wert Then
ListboxWertVorhanden = True
Exit For
End If
Next varElement
End Function
Ausgehend von einem Textfeld im Formular wird nach Eingabe eine Befehlschaltfläche mit folgendem Code gestartet:
Private Sub Befehl4_Click()
If ListboxWertVorhanden(Me!Liste, Me!Textfeld) Then
MsgBox "Gibt´s schon"
Else
MsgBox "Gibt´s noch nicht"
End If
End Sub