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