vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 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: TreeView control mit Datenbank Feldern füllen 
Autor: Tolwyn
Datum: 20.11.01 13:08

Hi,

hier ist eine Beispielfunktion

Private Sub cmdDBTreeTest_Click()
  ' cmdDBTreeTest_Click
  Dim oCon          As New ADODB.Connection
  Dim oRecordset    As ADODB.Recordset
  Dim lPos          As Long
  Dim lPos1         As Long
 
  Dim sKey          As String
  Dim sValue        As String
  Dim sTemp         As String
  Dim oMainNode     As Node
  Dim oNode         As Node
 
  On Error GoTo Error_
 
  With oCon
    .Provider = "Microsoft.Jet.OLEDB.3.51"
    .Open App.Path & "Test1.mdb"
    .CursorLocation = adUseClient
  End With
 
  Set oRecordset = New ADODB.Recordset
 
  oRecordset.Open "Select * from tblTreeTest", oCon, adOpenDynamic, _
    adLockOptimistic, 0
 
  oRecordset.MoveFirst
 
  With Me.TreeView1.Nodes
    ' TreeView löschen
    .Clear
    Do
      ' Jeden Datensatz auswerten
      sKey = oRecordset(0).Value
      sValue = oRecordset(1).Value
      ' sicherstellen das jedes Value mit einem "" endet
      If Right(sValue, 1) <> "" Then sValue = sValue & ""
 
      ' Hauptnode erstellen, bzw. holen
      On Error Resume Next
      Set oMainNode = .Item(sKey)
      If Err.Number = 35601 Then
        ' Element nicht gefunden, also neu anlegen.
        Set oMainNode = .Add(, , sKey, sKey)
      ElseIf Err <> 0 Then
        Err.Raise Err.Number, Err.Source, Err.Description
      End If
      oMainNode.Sorted = True
      On Error GoTo Error_
 
      ' ValueField der DB auswerten
      lPos = 1
      Do
        lPos1 = InStr(lPos1 + 1, sValue, "", vbTextCompare)
        If lPos1 > 0 Then
          sTemp = Mid(sValue, lPos, lPos1 - lPos)
          On Error Resume Next
          Set oNode = .Add(oMainNode.Key, tvwChild, oMainNode.Key & sTemp, _
            sTemp)
          If Err Then
            ' Dann war genau dieser Eintrag bereits vorhanden
            ' einfach ignorieren, oder DB bereinigen
            Debug.Print "Doppelt!"
          End If
          On Error GoTo Error_
          sTemp = ""
          lPos = lPos1 + 1
        Else
          ' Dann raus
          Exit Do
        End If
        Set oNode = Nothing
      Loop
      Set oMainNode = Nothing
      oRecordset.MoveNext
    Loop Until oRecordset.EOF
  End With
 
  Exit Sub
Error_:
  Debug.Print Err.Number & " - " & Err.Description
End Sub
Gruß
Tolwyn
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
TreeView control mit Datenbank Feldern füllen143ILM20.11.01 11:19
Re: TreeView control mit Datenbank Feldern füllen144Tolwyn20.11.01 13:08
Danke !124ILM21.11.01 10:30

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