BEISPIEL
HINWEIS
Datensätze löschen
Nun wollen wir uns dem Löschen der soeben eingegebenen Datensätze zuwenden. Prinzipiell ist ein Daten-
satz mit einem einfachen Aufruf der Delete-Methode gelöscht. Danach beginnen allerdings die Probleme,
muss doch der Satzzeiger auf eine definierte Position gebracht werden, denn es gibt keinen aktuellen Daten-
satz mehr (der Datensatzzeiger hängt quasi »in der Luft«). Ein Laufzeitfehler dürfte die logische Folge sein.
Die Positionierung des Datensatzzeigers könnte wie in der folgenden Abbildung gezeigt aussehen:
BOF
A
B
EOF
Delete
BOF
A
EOF
MoveNext
BOF A EOF
EOF=True
BOF
A
EOF
Delete
BOF EOF
Kein aktiver Datensatz
h
vorhanden
MovePrevious
Abbildung 6.6 Positionierung
des Datensatzzeigers
Löschen eines Datensatzes:
On Error GoTo fehler
' Prüfen, ob die Datenmenge bearbeitet werden kann:
If Not dy.Updatable Then
MsgBox "Datensätze können nicht bearbeitet werden!", 16, "Problem"
Exit Sub
End If
' Löschen des Datensatzes:
dy.Delete
' Versuch, zum nächsten Datensatz zu wechseln:
dy.MoveNext
If dy.EOF Then dy.MovePrevious
Exit Sub
fehler:
MsgBox Error, 16, "Problem"
Exit Sub
Resume Next
Wie beim Editieren ist auch hier Voraussetzung, dass die Datenbasis überhaupt bearbeitet werden darf. Sie
müssen also die Eigenschaft
Updatable
abfragen.
Sollen mehrere Datensätze gelöscht werden, vermeiden Sie den Aufruf von Delete in einer Schleife und ver-
wenden Sie besser gleich eine SQL-Anweisung (siehe Kapitel 8).
321
Arbeiten mit Recordsets

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.