Löschen im DataGrid

Hallo
irgendwie scheint es ja nicht möglich, im DataGrid mehrere Datensätze zu markieren, oder???

Hat irgendwer sich dennoch mal was überlegt, um mehrere Datensätze zu markieren und löschen zu können.

Konkret geht es um die Daten, welche in einer Access-Datenbank liegen und per DataGrid dargestellt werden.
Hier möchte ich eine Auswahl, um meherer Datensätze löschen zu können.

Bitte nicht irgendwas neues darlegen, das DataGrid ist mittlerweile fester Bestandteil des Programms, davon komme ich nicht mehr ab.

Mfg Werner

Hallo Werner,

irgendwie scheint es ja nicht möglich, im DataGrid mehrere
Datensätze zu markieren, oder???

richtig, das geht nicht.

Hat irgendwer sich dennoch mal was überlegt, um mehrere
Datensätze zu markieren und löschen zu können.

Konkret geht es um die Daten, welche in einer Access-Datenbank
liegen und per DataGrid dargestellt werden.
Hier möchte ich eine Auswahl, um meherer Datensätze löschen zu
können.

So etwas gibt es so viel ich weiß nicht, das musst Du selbst schreiben.
Um eine Schleife kommst Du wohl nicht herum.

Gruß Rainer

Hi
also ich habe grade recherchiert.
Mit Ctrl kann ich mehrere Datensätze markieren.

Kannst du mir sagen, wie man die selektierten dann löscht???

Ich brauche ja irgendeine Schleife, wo die markierten datensätze dann auftauchen. Leider kommt dann auch eine Meldung, das man nicht mehrere Datensätze löschen kann. Auch das dürfte ein Problem sein, diese Meldung zu umgehen, oder???

Mfg Werner

Hallo Werner,

also ich habe grade recherchiert.
Mit Ctrl kann ich mehrere Datensätze markieren.

Kannst du mir sagen, wie man die selektierten dann löscht???

ADO oder DAO?
Bei DAO in einer Schleife, (aber rückwärts zählen, sonst werden die falschen datensätze gelöscht!!!) mit Hilfe der .AbsolutePosition.

Bei ADO, hmmm, da warten wir mal auf eine Antwort von Alex, bevor ich hier Unfug schreibe. :smile:

Ich brauche ja irgendeine Schleife, wo die markierten
datensätze dann auftauchen. Leider kommt dann auch eine
Meldung, das man nicht mehrere Datensätze löschen kann.

Ja, Du musst jeden Datensatz einzeln löschen. Ich kenne mich mit dem Datagrid nicht aus, verwende es nicht, weil es Fehlerhaft ist. Du kannst doch sicher ermitteln, welche Zeilen markiert sind. Ich vermute mal .Selcted. Wenn das anders heißt, bitte ersetzen. .Rows ist wahrscheinlich auch falsch, bitte auch das durch die richtige Syntax ersetzen, ich kann hier das Datagrid z.Z. nicht verwenden, VB mag mich nicht lassen. Ich habe wohl die ‚Enterpriseedition‘ nicht ganz richtig regietriert. Dann könnte für DAO der Code etwa so aussehen …

For i = DataGrid1.Rows -1 To 0 Step -1
 If DataGrid1.Row.Selected = True Then
 Data1.Recordset.Absoluteposition = i
 Data1.Recordset. Delete
 End If
Next

Mit ADO wird es um einiges komplizierter, das bekomme ich so einfach nicht zusammen.

Gruß Rainer