Datensatz noch vorhanden, obwohl bereits gelöscht

01/11/2009 - 20:32 von Marion Hildebrandt | Report spam
Guten Abend,
ich möchte gern folgendes Problem lösen. Ich habe ein Hauptformular
„Stichwort“, welches keine Daten sondern nur Steuerelemente enthàlt , ein
1.Unterformular „Stichwort1“, als Liste von Datensàtzen für die Auswahl der
Detaildatensàtze(Datensatzquelle „qryStichwortListe“, in dieser Abfrage
können keine Daten bearbeitet werden) und ein 2.Unterformular „Stichwort2“
mit Detaildatensàtzen (Datensatzquelle „tblStichwort“) . Beim Anklicken eines
Datensatzes aus der Liste in dem Unterformular „Stichwort1“ werden im
Unterformular „Stichwort2“ die Detaildatensàtze angezeigt. Die Anzeige der
Liste im Unterformular „Stichwort1“ wird über verschiedene Filter gesteuert.
Mit nachfolgend aufgeführtem VBA-Code lösche ich einen angezeigten Datensatz
und aktualisiere im Anschluss die Anzeige. Das funktioniert soweit gut, aber
nur für das Löschen eines Datensatzes. Möchte ich einen weiteren Datensatz
löschen, ist der zuvor gelöschte Datensatz zwar in der Anzeige (Liste im
Unterformular „Stichwort1“) nicht mehr zu sehen, aber ein weiterer
Löschversuch bezieht sich immer noch auf den zuvor gelöschten Datensatz.
Auch im Meldungsfenster erscheint die Datensatznummer des zuvor gelöschten
Datensatzes. Mir ist jetzt nicht ganz klar, was ich zu aktualisieren habe. Da
der Datensatz direkt in der Tabelle gelöscht und im Anschluss das
Unterformular „Stichwort1“ aktualisiert wurde. Die Anzeige ist ja auch
korrekt. Erst wenn ich den Filter ausstelle, kann ich einen weiteren
Datensatz löschen, aber dann veràndert sich auch meine Anzeige und das wollte
ich eigentlich nicht. Wer kann bitte helfen?

Private Sub cmdRecDelete_Click()
On Error GoTo Err_cmdRecDelete_Click
Dim strsql As String
Dim Antwort As String
Dim db As DAO.Database

Antwort = MsgBox("Soll der Datensatz-Nr. " & IDStichWort & " wirklich
gelöscht werden?", 1, " Kloogschieter seegt:")
If Antwort = vbOK Then
Set db = CurrentDb
strsql = "DELETE * FROM Stichwort WHERE IDStichWort =" &
Me!IDStichWort
db.Execute strsql, dbFailOnError
Forms!frmStichwort!frmStichwort1.Requery
End If
Exit_cmdRecDelete_Click:
Exit Sub
Err_cmdRecDelete_Click:
MsgBox Err.Description
Resume Exit_cmdRecDelete_Click
End Sub

Ich verwende Vista, Office 2007.

Viele Grüße aus Hamburg
Marion
 

Lesen sie die antworten

#1 Marion Hildebrandt
01/11/2009 - 20:47 | Warnen spam
Sorry, habe den Fehler schon gefunden!

Viele Grüße aus Hamburg
Marion


"Marion Hildebrandt" schrieb:

Guten Abend,
ich möchte gern folgendes Problem lösen. Ich habe ein Hauptformular
„Stichwort“, welches keine Daten sondern nur Steuerelemente enthàlt , ein
1.Unterformular „Stichwort1“, als Liste von Datensàtzen für die Auswahl der
Detaildatensàtze(Datensatzquelle „qryStichwortListe“, in dieser Abfrage
können keine Daten bearbeitet werden) und ein 2.Unterformular „Stichwort2“
mit Detaildatensàtzen (Datensatzquelle „tblStichwort“) . Beim Anklicken eines
Datensatzes aus der Liste in dem Unterformular „Stichwort1“ werden im
Unterformular „Stichwort2“ die Detaildatensàtze angezeigt. Die Anzeige der
Liste im Unterformular „Stichwort1“ wird über verschiedene Filter gesteuert.
Mit nachfolgend aufgeführtem VBA-Code lösche ich einen angezeigten Datensatz
und aktualisiere im Anschluss die Anzeige. Das funktioniert soweit gut, aber
nur für das Löschen eines Datensatzes. Möchte ich einen weiteren Datensatz
löschen, ist der zuvor gelöschte Datensatz zwar in der Anzeige (Liste im
Unterformular „Stichwort1“) nicht mehr zu sehen, aber ein weiterer
Löschversuch bezieht sich immer noch auf den zuvor gelöschten Datensatz.
Auch im Meldungsfenster erscheint die Datensatznummer des zuvor gelöschten
Datensatzes. Mir ist jetzt nicht ganz klar, was ich zu aktualisieren habe. Da
der Datensatz direkt in der Tabelle gelöscht und im Anschluss das
Unterformular „Stichwort1“ aktualisiert wurde. Die Anzeige ist ja auch
korrekt. Erst wenn ich den Filter ausstelle, kann ich einen weiteren
Datensatz löschen, aber dann veràndert sich auch meine Anzeige und das wollte
ich eigentlich nicht. Wer kann bitte helfen?

Private Sub cmdRecDelete_Click()
On Error GoTo Err_cmdRecDelete_Click
Dim strsql As String
Dim Antwort As String
Dim db As DAO.Database

Antwort = MsgBox("Soll der Datensatz-Nr. " & IDStichWort & " wirklich
gelöscht werden?", 1, " Kloogschieter seegt:")
If Antwort = vbOK Then
Set db = CurrentDb
strsql = "DELETE * FROM Stichwort WHERE IDStichWort =" &
Me!IDStichWort
db.Execute strsql, dbFailOnError
Forms!frmStichwort!frmStichwort1.Requery
End If
Exit_cmdRecDelete_Click:
Exit Sub
Err_cmdRecDelete_Click:
MsgBox Err.Description
Resume Exit_cmdRecDelete_Click
End Sub

Ich verwende Vista, Office 2007.

Viele Grüße aus Hamburg
Marion

Ähnliche fragen