Access VBA - Problem beim Datensatz löschen

Hallo!

Ich habe ein Formular, dass mir in einer Listenansicht bestimmte Daten anzeigt. Je nach Suche können diese Daten unterschiedlich sein oder sogar die komplette Tabelle wiedergeben.

Folgenden Code hab ich für die Suchfunktion zur Öffnung dieses Formulars:

Private Sub datensatz\_suchen\_Click()  
  
If Me!bezeichnung\_suchen & "" "" And Me!sprache\_suchen & "" "" Then  
 DoCmd.OpenForm "datensatz\_uebersicht", , , "Bezeichnung Like '\*" & Me!bezeichnung\_suchen & "\*' AND Sprache = '" & Me!sprache\_suchen & "'", , acDialog  
ElseIf Me!bezeichnung\_suchen & "" "" And Me!sprache\_suchen & "" = "" Then  
 DoCmd.OpenForm "datensatz\_uebersicht", , , "Bezeichnung Like '\*" & Me!bezeichnung\_suchen & "\*'", , acDialog  
ElseIf Me!bezeichnung\_suchen & "" = "" And Me!sprache\_suchen & "" "" Then  
 DoCmd.OpenForm "datensatz\_uebersicht", , , "Sprache = '" & Me!sprache\_suchen & "'", , acDialog  
Else  
 MsgBox "Bitte füllen Sie mindestens ein Feld aus!", vbInformation  
End If  
  
End Sub  

So, wenn ich nun versuche den markierten Datensatz über einen Button zu löschen, dann funktioniert dies beim ersten mal problemlos. Möchte ich dann einen 2. Datensatz löschen, der sich (nach dem verschieben der Datensätze) an der selben Stelle befindet, so kommt eine Fehlermeldung!
Ich nehme an, das Problem ist, dass die Stelle an der der Datensatz liegt (z.B. 5. von oben) nach dem löschen erneut belegt ist (durch das hochrutschen der anderen Datensätze). Ich hoffe das war einigermaßen verständlich wo mein Problem liegt.

Der Code für den Löschen Button:

Private Sub datensatz\_loeschen\_Click()  
Recordset.Delete  
MsgBox ("Datensatz wurde gelöscht!")  
End Sub  

Hallo Sebastian,

Der Code für den Löschen Button:

Private Sub datensatz\_loeschen\_Click()  
> Recordset.Delete  
> MsgBox ("Datensatz wurde gelöscht!")  
> End Sub  

sollte dieser sein:
Private Sub datensatz_loeschen_Click()
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
MsgBox („Datensatz wurde gelöscht!“)
End Sub

Danke erstmal für den Tip! Die gute Nachricht: Es kommt keine Fehlermeldung, die schlecht: Der Datensatz wird auch nicht gelöscht *g* Für welche Menübefehle stehen denn die 8 und die 6 ??? Vielleicht hilft es wenn man die ausschreibt…

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Sebastian,

DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

Danke erstmal für den Tip! Die gute Nachricht: Es kommt keine
Fehlermeldung, die schlecht: Der Datensatz wird auch nicht
gelöscht *g* Für welche Menübefehle stehen denn die 8 und die
6 ??? Vielleicht hilft es wenn man die ausschreibt…

bevor ich hier die Access - Hilfe zitiere:

  • klicke mit der Maus mitten auf das Wort DoMenuItem
  • drücke nun die F1 Taste

Grüße aus Essen
Wolfgang
(Netwolf)