vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
DTA-Dateien erstellen inkl. BLZ-/Kontonummernpr?fung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2015
 
zurück
Rubrik: Controls · sev-Controls   |   VB-Versionen: VB5, VB606.08.07
sevDataGrid - Manuelle Änderung von Datenbank-Inhalten

Hier wird gezeigt, wie man Änderungen an den Datenbank-Inhalten (einzelne Spalten) manuell via Code durchführen kann.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  4.879 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10kein Beispielprojekt 

Summer-Special bei Tools & Components!
Gute Laune Sommer bei Tools & Components
Top Summer-Special - Sparen Sie teilweise über 100,- EUR
Alle sev-Entwicklerkomponenten und Komplettpakete jetzt bis zu 25% reduziert!
zum Beispiel:
  • Developer CD nur 455,- EUR statt 569,- EUR
  • sevDTA 2.0 nur 224,30 EUR statt 299,- EUR
  •  
  • vb@rchiv   Vol.6 nur 18,70 EUR statt 24,95 EUR
  • sevCoolbar 3.0 nur 58,70 EUR statt 69,- EUR
  • - Werbung -Und viele weitere Angebote           Aktionspreise nur für kurze Zeit gültig

    Immer und immer wieder taucht die Frage auf, wie man Änderungen von Datenbank-Inhalten manuell via Code vornehmen kann. Viele User versuchen das Ganze zunächst über die Text-Eigenschaft zu realisieren. Die Ansicht im DataGrid wird hierbei auch entsprechend aktualisiert - jedoch wird der neue Feldinhalt nicht in der Datenbank gespeichert.

    Um im Recordset-Mode Datenbank-Inhalte per Code dauerhaft zu ändern, muss der neue Feldinhalt direkt über das Recordset-Objekt zugewiesen und gespeichert werden.

    Beispiel:
    Der Inhalt der aktuell selektierten Datenzeile soll geändert und gespeichert werden:

    With Grid1.Recordset
      .Edit  ' nur falls DAO verwendet wird
      .Fields("feldname") = "neuer Wert"
      .Update
    End With
     
    ' Ansicht aktualisieren
    Grid1.RowRefresh

    Das Ganze lässt sich auch in eine universelle Funktion verpacken, mit der man Änderungen bequem per Funktionsaufruf vornehmen kann.

    ' Dauerhafte Änderungen am Datenbank-Inhalt vornehmen
    Public Function DoChange(Grid As Object, _
      ByVal nRow As Long, _
      ByVal nCol As Variant, _
      ByVal NewValue As Variant, _
      Optional ByVal bRefresh As Boolean = True, _
      Optional ByVal bSilent As Boolean = False) As Boolean
     
      With Grid.Recordset
        ' zum gewünschten Datensatz wechseln
        .MoveFirst
        If nRow > 1 Then .Move nRow - 1
     
        ' Datensatz bearbeiten
        .Edit ' nur falls DAO
        If IsNumeric(nCol) Then 
          .Fields(nCol - 1) = NewValue
        Else
          .Fields(nCol) = NewValue
        End If
        .Update
      End With
     
      ' Ansicht im DataGrid aktualisieren
      If bRefresh Then Grid.RowRefresh nRow
     
      DoChange = True
      Exit Function
     
    ErrHandler:
      If Not bSilent Then
        MsgBox "Fehler beim Aktualisieren des Recordsets!" & vbCrLf & _
          CStr(Err.Number) & " " & Err.Description, vbExclamation Or vbOKOnly
      End If
      DoChange = False
    End Function

    Aufruf:
    Es soll in der 10. Datenzeile die 5. Spalte geändert werden:

    Dim bResult As Boolean
    bResult = DoChange(Grid1, 10, 5, "neuer Wert")

    Anstelle der Spaltennummer können Sie auch die Feldbezeichnung im Recordset angeben:

    bResult = DoChange(Grid1, 10, "feldname", "neuer Wert")

    Dieser Tipp wurde bereits 4.879 mal aufgerufen.

    Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

    Über diesen Tipp im Forum diskutieren
    Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

    Neue Diskussion eröffnen

    nach obenzurück


    Anzeige

    Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6

    Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
    - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
    - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
    Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
     
       

    Druckansicht Druckansicht Copyright ©2000-2015 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