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

Visual-Basic Einsteiger
Re: Suchen und vergleichen im Listview 
Autor: ModeratorDieter (Moderator)
Datum: 03.02.03 23:14

Hi Nelson,

das geht so:
Private Function lvw_ItemExists(oListView As ListView, _
  ByVal sText As String) As ListItem
 
  Dim oItem As ListItem
  Dim sData() As String
  Dim i As Integer
  Dim nIndex As Long
  Dim bExists As Boolean
 
  bExists = False
 
  sData = Split(sText, vbTab)
  With oListView
    nIndex = 1
    Do
      Set oItem = .FindItem(sData(0), , nIndex)
      If oItem Is Nothing Then Exit Do
 
      ' 1. Spalte: Treffer
      ' jetzt alle weiteren Spalten vergleichen
      bExists = True
      For i = 1 To .ColumnHeaders.Count - 1
        If oItem.SubItems(i) <> sData(i) Then
          bExists = False: Exit For
        End If
      Next i
      nIndex = oItem.Index + 1
    Loop Until bExists Or nIndex > .ListItems.Count
  End With
 
  If bExists Then
    Set lvw_ItemExists = oItem
  End If
End Function
Die Funktion erwartet als Parameter das ListView-Control, sowie den kompletten Eintrag, der auf Vorhandensein geprüft werden soll, wobei die einzelnen Spalten-Texte mit vbTab voneinander getrennt anzugeben sind. Ist der Eintrag vorhanden wird ein ListItem-Objekt zurückgegeben, das den Eintrag enthält - andernfalls Nothing.

Das ganze lässt sich jetzt wie folgt verwenden:
Dim sName As String
Dim sAnschrift As String
Dim sTelefon As String
Dim oItem As ListItem
 
sName = "Dieter"
sAnschrift = "Steinach"
sTelefon = "706246"
 
' Prüfen, ob Eintrag bereits existiert
Set oItem = lvw_ItemExists(ListView1, sName & vbTab & sAnschrift & vbTab & _
  sTelefon)
If oItem Is Nothing Then
  ' Eintrag existsiert noch nicht, also hinzufügen
  Set oItem = ListView1.ListItems.Add(, , sName)
  oItem.SubItems(1) = sAnschrift
  oItem.SubItems(2) = sTelefon
End If

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Suchen und vergleichen im Listview711nelson200003.02.03 21:49
Re: Suchen und vergleichen im Listview399ModeratorDieter03.02.03 23:14
Re: Suchen und vergleichen im Listview430nelson200004.02.03 00:16
Re: Suchen und vergleichen im Listview439ModeratorDieter04.02.03 00:20
Re: Suchen und vergleichen im Listview355nelson200004.02.03 00:27

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