Immer wieder wird im Forum gefragt, wie man unter Verwendung des Microsoft DataGrid Controls alle selektierten Datensätze per Knopfdruck aus der Datenbank löschen kann. Des Rätsles Lösung lautet SelBookmark. Über diese Eigenschaft lassen sich alle aktuell selektierten Datenzeilen ermitteln. Jetzt braucht man nur noch den Recordset-Zeiger auf die "Bookmarks" zu bewegen und den Löschvorgang via "Delete"-Methode aufrufen. Beginnen wir jedoch zunächst mit dem Füllen des DataGrids. Hierzu erstellen wir ein Connection- und ein Recordset-Objekt und weisen das Recordset dann dem DataGrid zu: Option Explicit ' Datenbank-Connection + Recordset Objekt Dim oConn As ADODB.Connection Dim oRs As ADODB.Recordset Private Sub Form_Load() ' Datenbank öffnen Set oConn = New ADODB.Connection With oConn .CursorLocation = adUseClient .Provider = "Microsoft.Jet.OLEDB.4.0" .Properties("Data Source") = App.Path & "\Datenbank.mdb" .Properties("Persist Security Info") = False .Open End With ' Recordset erstellen und öffnen Set oRs = New ADODB.Recordset oRs.Open "SELECT * FROM Kunden", oConn, _ adOpenStatic, adLockOptimistic ' DataGrid mit dem Inhalt des Recordsets füllen Set DataGrid1.DataSource = oRs End Sub Per Buttonklick sollen alle selektierten Datensätze gelöscht werden: Private Sub Command1_Click() Dim Bookmark As Variant With DataGrid1 ' alle selektierten Datenzeilen durchlaufen For Each Bookmark In .SelBookmarks .Bookmark = Bookmark ' Datensatz löschen oRs.Delete adAffectCurrent Next End With End Sub Das war's dann auch schon. Sollten Sie anstelle eines ADO-Recordsets ein DataControl verwenden, ersetzen Sie... oRs.Delete adAffectCurrent
durch: Adodc1.Recordset.Delete adAffectCurrent Dieser Tipp wurde bereits 21.906 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) 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. |
sevISDN 1.0 ![]() Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats ![]() Dieter Otter Beliebige Zeichen am Anfang und Ende eines Strings entfernen Mit der Trim-Funktion lassen sich nicht nur Leerzeichen, sondern bei Bedarf auch beliebige Zeichen entfernen. Neu! sevPopUp 2.0 ![]() Dynamische Kontextmenüs! Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... |
||||||||||||||||
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. |