Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Datensatz per VBA löschen

3,832 views
Skip to first unread message

Ronny Rost

unread,
Jan 23, 2004, 8:33:04 AM1/23/04
to
Hi Leute,

wie kann ich einen Datensatz per VBA löschen?

Danke für Eure Hilfe.

Gruß

Karl Donaubauer

unread,
Jan 23, 2004, 8:38:19 AM1/23/04
to
Ronny Rost schrieb:

> wie kann ich einen Datensatz per VBA löschen?

Falls du den aktuellen DS meinst, dann z.B.
RunCommand acCmdDeleteRecord

Falls nicht, definiere "Datensatz" genauer.

--
HTH
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com
Datenbankprofis: http://www.dbdev.org

Ronny Rost

unread,
Jan 23, 2004, 8:58:05 AM1/23/04
to
Ja Karls,

ich meine den aktuellen.
Habe nun ein Konstrukt gebaut:

rs.move(me.currentrecord-1)
rs.delete

Dieser Code steht in einem Formular drinne.
Ich habe jetzt nur noch ein Problem:

wenn ich den letzten DS löschen möchte so erhalte ich
immer die Fehlermeldung, es sei nicht der aktuelle DS,
Aber sonst löscht er immer den richtigen.

Merci für Deine Hilfe.

Gruß Ronny

Henry Habermacher [MVP Access]

unread,
Jan 23, 2004, 9:59:04 AM1/23/04
to
Hallo Ronny

Ronny Rost <anon...@discussions.microsoft.com> typed:

> ich meine den aktuellen.
> Habe nun ein Konstrukt gebaut:
>
> rs.move(me.currentrecord-1)
> rs.delete
>
> Dieser Code steht in einem Formular drinne.
> Ich habe jetzt nur noch ein Problem:
>
> wenn ich den letzten DS löschen möchte so erhalte ich
> immer die Fehlermeldung, es sei nicht der aktuelle DS,
> Aber sonst löscht er immer den richtigen.

Wieso machst Du einen Move und was ist der dein RS? Wie wird das gesetzt?

Falls DAO und Du lieber nicht den Makro Interpreter bemühen möchtest, dann
folgendermassen:

private Sub cmdDelete_Click()
Dim rs as Recordset
if not me.newrecord then
if MsgBox("Datensatz löschen?", vbyesno + vbquestion) <> vbyes then
exit sub
else
me.undo 'allfällige Änderungen rückgängig machen
set rs = Me.RecordsetClone
rs.Delete
Me.Refresh 'damit #gelöscht# angezeigt wird
set rs=nothing
end if
Else 'rs gibt's gar noch nicht
If MsgBox("Eingaben verwerfen?", vbyesno + vbquestion) <> vbyes then
exit sub
else
Me.Undo
end if
End If
End Sub

HTH
Henry

--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com/FAQ/FAQStart.htm
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org

Dietmar.Voigt

unread,
Jan 23, 2004, 10:01:27 AM1/23/04
to

>-----Originalnachricht-----
>.
>

easy:
DoCmd.RunSQL("DELETE FROM MeineTabelle WHERE ID=" & WertID)

Gruß D.V.

0 new messages