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 22.584 mal aufgerufen.
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv (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. |
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... Tipp des Monats Heinz Prelle Datei-Mehrfachauswahl an eine ListBox übergeben Dieser Tipp zeigt, wie Sie über den Windows-CommonDialog eine Mehrfach-Dateiauswal realisieren... Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
|
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. |
|||||||||||||||||


Alle selektierten Datensätze aus dem DataGrid löschen


