vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
listbox suche nur 1 mal durchlaufen 
Autor: Andi01
Datum: 02.09.05 17:51

hallo...ich habe hier eine suchfunktion die mir in list2 einen wert findet was auch richtig läuft,nur durchläuft mir diese suchfunktion ca. 9 mal die list2 und stellt mir die werte
dann natürlich auch 9 mal rein....hat jemand eine idee wie ich es hinbekomme das sie
mir nur 1 mal die list2 durchsucht und dann eine meldung kommt " ende der liste erreicht " ....?

hier der code mal für die suchfunktion....


hier mal der code der suchfunktion......


Public Function LstCboSearch(ObjLstCbo As Object, GesuchterEintrag As String, _
Optional Suchbeginn As Integer = 1) As Integer

Dim ListenEintrag As String
Dim Liste As Integer
Dim GefundenePos As Integer
Dim ListenPos As Integer

' AUSSCHLIESSEN VON FEHLERN
' Wurde ein GesuchterEintrag übergeben, nach dem gesucht werden soll?
If GesuchterEintrag = "" Then
' Nein
' Funktion beenden
LstCboSearch = -1
Exit Function
End If

' Enthält die zu durchsuchende Liste Einträge?
If ObjLstCbo.ListCount = 0 Then
' Nein
' Funktion beenden
LstCboSearch = -1
Exit Function
End If

' SUCHE NACH LISTENEINTRAG
With ObjLstCbo
ListenPos = .ListIndex
' Ende der zu durchsuchenden Liste erreicht?
If ListenPos + 1 > .ListCount - 1 Then
' Ja
' Suche von vorne beginnen
ListenPos = 0
Else
' Nein
' Positionszähler erhöhen
ListenPos = ListenPos + 1
End If

' Liste von Positionszähler bis Listenende durchsuchen
For Liste = ListenPos To .ListCount - 1
ListenEintrag = UCase$(Mid$(.List(Liste), Suchbeginn, Len(.List(Liste))))
GefundenePos = InStr(ListenEintrag, UCase$(GesuchterEintrag))
' Wurde der Eintrag gefunden?
If GefundenePos > 0 Then
' Ja
' Listindex zurückgeben
LstCboSearch = Liste
' Funktion beenden
Exit Function
End If
Next Liste

' Wurde die Suche von einer Position >1 gestartet?
If ListenPos > 0 Then
' Ja
' Dann zusätzlich vom Listenbeginn bis zur übergebenen
' Listenposition suchen
For Liste = 0 To ListenPos
' Wurde der Eintrag gefunden?
GefundenePos = InStr(UCase$(.List(Liste)), UCase$(GesuchterEintrag))
If GefundenePos > 0 Then
' Ja
' Listindex zurückgeben
LstCboSearch = Liste
' Funktion beenden
Exit Function
End If
Next Liste
End If
' kein Suchergebnis, keinen Listeneintrag markieren
LstCboSearch = -1
End With
End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
listbox suche nur 1 mal durchlaufen594Andi0102.09.05 17:51
Re: listbox suche nur 1 mal durchlaufen380Benni04.09.05 01:27
Re: listbox suche nur 1 mal durchlaufen352Andi0104.09.05 10:37
Re: listbox suche nur 1 mal durchlaufen339Andi0104.09.05 11:17
Re: listbox suche nur 1 mal durchlaufen340Benni04.09.05 17:10
Re: listbox suche nur 1 mal durchlaufen340Andi0104.09.05 23:40
Re: listbox suche nur 1 mal durchlaufen315Benni05.09.05 01:56
Re: listbox suche nur 1 mal durchlaufen326Benni05.09.05 02:19
Re: listbox suche nur 1 mal durchlaufen336Benni05.09.05 02:15
Re: listbox suche nur 1 mal durchlaufen339Andi0105.09.05 07:40

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel