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: 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: 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 3.258 mal aufgerufen.
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv 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. |
vb@rchiv CD Vol.6 ![]() Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats Dietrich Herrmann Einsatz einer DimmingForm Es wird eine Form vorgestellt, mit deren Hilfe man den gesamten Bildschirm auf verschiedene Arten mit transparenter Farbe überdecken und nur eine eigene Form im Vordergrund zeigen kann. sevCoolbar 2.0 ![]() Professionelle Toolbars im modernen Design! Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB / Access und .NET |
||||||||||||||||
|
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. |
|||||||||||||||||



sevDataGrid - Manuelle Änderung von Datenbank-Inhalten


