Hallo,
in der Runtime Version von Access sind alle Kontextmenüs ausgeblendet und der größte Teil der TastaturKürzel funktioniert auch nicht.
Hat jemand eine Idee, wie es trotzdem möglich ist, einen Datensatz aus der Datenblattansicht eines Unterformulars zu löschen.
(In der Vollversion von Access ganz einfach möglich durch [Entf] oder rechte Maustaste - Kontextmenü).
Noch eine Zusatzfrage:
Welches Ereignis wird ausgelöst, wenn ich den Datensatz markiere?
Danke
OpaOesterweg
Hallo,
Idee: Per VBA bei Doppel-Klick auf den Datensatzmarkierer eine Löschabfrage in der dazugehörenden Ereignisprozedur absetzen.
Private Sub Form_DblClick(Cancel As Integer)
CurrentDb.Execute "Delete * from tblTabelle Where IDFeld = " & Me!IDFeld
End Sub
Wenn der Datensatzmarkierer angeklickt (markiert) wird, löst das das Form_Click-Ereignis aus.
Nochmals schönen Dank an Franz vom Bodensee.
Ich habe dann noch etwas mit dem Form-Ereignissen experimentiert und schließlich folgende Code gefunden:
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Select Case Button
Case 2
If Me.Form.SelWidth <> 7 Then Exit Sub
If MsgBox("Ausgewählten Datensatz löschen?", vbYesNo) = vbYes Then
CurrentDb.Execute "Delete * from tblPosition Where ID = " & Me.ID
End If
End Select
End Sub
Bei MausUp hat der Datensatzzeiger auf den aktuellen DS gewechselt (bei MausDown ist noch der vorherige drin). Dann werte ich nur die rechte Maustaste aus und mit SelWith kann ich ziemlich sicher herausfinden, ob der User auch wirklich eine Zeile und nicht eine Spalte markiert hat. Dazu muß ich natürlich vorher SelWith der Tabelle heraustesten. Klappt einwandfrei.
Viele Grüße aus Westfalen
Rolf
Hallo Rolf,
ZitatWelches Ereignis wird ausgelöst, wenn ich den Datensatz markiere?
Beim Anzeigen (Form_Current)
ZitatBei MausUp hat der Datensatzzeiger auf den aktuellen DS gewechselt
Um das zu gewährleisten verwende ich das o.a. Ereignis. Da muss ich erstens
nicht mir den Mouse-Ereignissen "rummachen", und vor allem funzt das auch
wenn ich Datensätze mit den Pfeiltasten ansteuere und das Ereignis wird beim
Klick auf den Spaltenkopf gar nicht ausgelöst.
gruss ekkehard