PDA

Vollständige Version anzeigen : Löschproblem - Refresh


Lucky-Striker
17.01.2003, 11:13
Hi,
nochmal ich :)


In einem Formular lasse ich mir DS untereinander anzeigen und versehe die, die ich löschen möchte mit einem Haken im Löschen Feld.

Dann gibt es einen Button der die Löschabfrage durchführt. Danach sollten im geöffnten Formular die gelöschten DS nicht mehr angezeigt werden.

Ich benutze folgenden Code:

Private Sub But_DS_Del_Click()
On Error GoTo Err_But_DS_Del_Click

DoCmd.Save acForm, "UF_Löschung_CA"
CurrentDb.Execute "DELETE PBI.Löschen FROM PBI WHERE ((PBI.Löschen)=-1);"
Me.Requery

Exit_But_DS_Del_Click:
Exit Sub

Err_But_DS_Del_Click:
MsgBox Err.Description
Resume Exit_But_DS_Del_Click

End Sub

Aber irgendwas stimmt nicht. Erlöscht alle markierten DSe nur der zuletzt markierte wird im Formular noch aufgeführt. Schliesse ich das Formular und öffne es wieder, ist auch der weg!

Was habe ich da falsch gemacht? Hat einer 'nen guten Tip für mich?

Danke & Gruss Lucky-Striker

RUK
17.01.2003, 11:26
Hi Lucky,

:idee:
falls der Focus / Datensatzmarkierer noch auf diesem besagten letzten Datensatz steht, könntest du evtl. mal versuchen vor deinem Me.Refresh
den Focus auf ein Steuerlement im Formularkopf zu setzen. Funzt das evtl. ?
:idee:

Lucky-Striker
17.01.2003, 11:55
@Rudolf

...sorry, Augen auf im Strassenverkehr! **Schäm**

Der zuletzt zum löschen markierte DS wird nicht gelöscht!


Focus setzen hilft leider nicht.

khs-hh
17.01.2003, 12:31
Der Markierer "soll gelöscht werden" im Satz, der den Focus hat, ist noch garnicht upgedatet. Access speichert Eingaben normalerweise erst bei explizitem Speichern (SaveRecord) oder beim Navigieren (nächster satz) oder schließen.

Daher wird der letzte Satz nicht gelöscht. Du musst also explizit dafür sorgen, dass die Änderung auch wirklich übernommen wird. Die vorher markierten Sätze wurden ja gespeichert, da Du beim markieren des nächsten satzes praktisch navigiert hast. Aber eben das gilt nicht für den zuletzt markierten satz.

Lucky-Striker
17.01.2003, 13:20
Stimmt genau, deshalb habe ich jetzt auch ein goto next RS vor Ausführung der Abfrage gesetzt.

Und... ...jetzt funktioniert es!


Habt Dank ihr schlauen Köpfe!

Gruss Lucky-Striker