vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

Fortgeschrittene Programmierung
Re: Listview hinzufügen und anderes 
Autor: Tolwyn
Datum: 27.09.01 16:03

Hi,

ich habe hier mal eib Beispiel, wie man das angehen könnte.

Die folgende Funktion schreibt ein ListItem in eine Datenbanktabelle. Voraussetzung hierfür ist, das die ColumnHeaders des entsprechenden ListView in der Key Eigenschaft den Namen der Tabellenspalte enthält.

Dann wird einfach ein SQL String aufgebaut, der einen Datensatz in die DB schreibt
Beispiel:

"INSERT INTO Tabelle1 (Feld1, Feld2, Feld3) VALUES ('Value1‘,‘Value2‘,‘Value3‘)“
Dann wird dieses Statement mit einem Command Objekt an die DB geschickt.
Public Sub AddLVItemToTable(oLSV As MSComctlLib.ListView, _
                            oItem As ListItem, _
                            sDB_Path As String, _
                            sTable As String)
  '--------------------------------------------------
  ' oLSV        - Das ListView, aus dem das ListItem kommt
  ' oItem       - Das Item, welches in die Datenank soll
  ' sDB_Path    - Pfad & Name der Access DB
  ' sTable      - Name der Tabelle, in die das Item soll
  '--------------------------------------------------
  On Error GoTo Error_
  Dim oCon          As New ADODB.Connection
  Dim oCommand      As New ADODB.Command
  Dim i             As Long
  Dim sSQL          As String
  Dim sHeader       As String
  Dim sValues       As String
  '--------------------------------------------------
  ' Eine Connectionzu der Datenbank aufbauen
  With oCon ' Die Connection zur Datenbank
    .Provider = "Microsoft.Jet.OLEDB.3.51"
    .Mode = adModeReadWrite
    .Open sDB_Path
    '.CursorLocation = adUseClient
  End With
  '--------------------------------------------------
  ' SQL String für den Input aufbauen
  sSQL = "INSERT INTO " & sTable & " ("
  sHeader = oLSV.ColumnHeaders(2).Key
  sValues = "'" & oItem.SubItems(1) & "'"
  For i = 3 To oLSV.ColumnHeaders.Count
    ' Die erste Spalte enhält einen AutoWert, deshalb ignorieren
    If oItem.SubItems(i - 1) <> "" Then
      ' SubItem nur berücksichtigen, wenn es auch einen Wert enthält
      sHeader = sHeader & ", " & oLSV.ColumnHeaders(i).Key
      sValues = sValues & ", '" & oItem.SubItems(i - 1) & "'"
    End If
  Next i
  sSQL = sSQL & sHeader & ") VALUES (" & sValues & ")"
  '--------------------------------------------------
  ' Nun in die Datenbank eintragen
  Set oCommand = New ADODB.Command
  With oCommand
    .ActiveConnection = oCon
    .CommandText = sSQL
    .Execute
  End With
 
  Set oCon = Nothing
  Set oCommand = Nothing
  Exit Sub
  '--------------------------------------------------
Error_:
  Debug.Print Err.Number
  Debug.Print Err.Description
  Set oCon = Nothing
  Set oCommand = Nothing
End Sub
Da ich mich nicht als DB Experte bezeichnen würde, kann es natürlich noch bessere Wege geben etwas in eine DB zu bringen. Im grunde genommen mußt Du dich nur um einen SQL String bemühen, denn Rest erledigt dann das Command Objekt.

Gruß
Tolwyn
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Listview hinzufügen und anderes59Hepheistos26.09.01 18:04
Re: Listview hinzufügen und anderes39Tolwyn26.09.01 18:25
Re: Listview hinzufügen und anderes34Hepheistos26.09.01 19:02
Re: Listview hinzufügen und anderes34Tolwyn27.09.01 16:03
danke für die hilfe werde es gleich mal testen19Hepheistos04.10.01 10:36
Re: Listview hinzufügen und anderes35NHZ27.09.01 12:26

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-2024 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