Eingabe löschen / rückgängig machen / Undo

25/05/2008 - 20:26 von Björn Benatzky | Report spam
Hallo,

ich habe ein Problem, von dem ich dachte, daß ich es bereits behoben hàtte,
aber heute tritt es komischerweise wieder auf. Ich habe alles nochmals
überprüft und komme nicht weiter:

Ich möchte über die BeforeUpdate-Funktion eines Feldes die Eingabe
überprüfen und wenn die Daten schon einmal eingegeben wurden, die Eingabe
rückgàngig machen (löschen), das Speichern des Datensatzes abbrechen und zu
dem Datensatz wechseln, unter dem die Daten bereits eingegeben wurden.

Aber wenn ich

Me!Feld1.Undo
Cancel = True

im BeforeUpdate-Event des Feldes Feld1 verwende, dann kann ich anschließend
mit

Me.RecordsetClone.FindFirst "ID =" & i
Me.Bookmark = Me.RecordsetClone.Bookmark

zum einem gewünschten Datensatz wechseln (was auch automatisch
funktioniert), ich erhalte aber die Fehlermeldung 2108: "Sie müssen das Feld
erst speichern, bevor Sie die GeheZuSteuerelement-Aktion, die
GoToControl-Methode oder die SetFocus-Methode ausführen können.".

Wenn ich

Me!Feld1.Undo
Cancel = True

im BeforeUpdate-Event des Feldes Feld1 verwende, scheint es, als wenn der
Eintrag zu spàt gelöscht würde. Erst erscheint die Fehlermeldung 3022: "Die
von Ihnen vorgenommenen Änderungen an der Tabelle konnten nicht orgenommen
werden, da der Index, Primàrschlüssel oder die Beziehung mehrfach vorkommene
Werte enthalten würde.", weil der Datensatz doppelt vorhanden ist, und dann
wird der Inhalt des Feldes gelöscht.

Ich blick irgendwie nicht durch. Zumal ich mit der ersten Variante bislang
keine Probleme hatte. Was könnte sich hier geàndert haben?

Gruß
Björn
 

Lesen sie die antworten

#1 Peter Doering
25/05/2008 - 20:44 | Warnen spam
Hallo,

Björn Benatzky wrote:

ich habe ein Problem, von dem ich dachte, daß ich es bereits behoben hàtte,
aber heute tritt es komischerweise wieder auf. Ich habe alles nochmals
überprüft und komme nicht weiter:
[...]
Me!Feld1.Undo
Cancel = True



Du wirst ein Me.Undo machen muessen, weil die RecordSource dirty ist, nicht
nur das Feld.

Gruss - Peter

Ich beantworte keine Fragen per Email.
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com

Ähnliche fragen