Kontextabh"angiges Verhalten von 'erase'

Heinrich Allers allers at t-online.de
Mo Okt 28 21:13:59 CET 2002


Ich habe mit einem seltsamen Betragen von 'erase', dem Flexbefehl für das Löschen eines 
Datensatzes, zu kämpfen; ich habe es auf folgende auf der Demo-Datenbank 
reproduzierbareSituation reduziert:

Die 5 im Personenregister unter 'bach ...'stehenden Titel möchte ich löschen und benutze dazu 
die folgende Flexdatei:

find per bach?
first
:naechst
erase
next\if no jump ende
jump naechst
:ende
 
Diese Flexdatei läuft problemlos: erstens gibt es keine Rückfrage, ob gelöscht werden soll, 
zweitens sind hinterher wirklich alle 5 Datensätze verschwunden.

Das Problem beginnt, wenn ich vor Löschung (vor dem erase-Befehl) an dem zu löschenden 
Datensatz noch Manipulationen vornehme. Die folgende Flexdatei:

find per bach?
first
:naechst
var ""\ins #20
erase
next\if no jump ende
jump naechst
:ende
erase off

macht nicht mehr das, was man sich von ihr wünscht: erstens fragt sie bei jedem Datensatz, ob 
er wirklich gelöscht werden soll (so, als stünde dort 'Erase'), und zweitens sind hinterher von 
den 5 Titel nur 4 verschwunden, einer bleibt stehen.

###

Warum ist das so? Worauf muß ich achten, wenn ich rückfragelos, nach Manipulationen an dem 
zu löschenden Titel und komplett löschen will?

(Vielleicht fragt jetzt jemand, warum ich Datensätze manipulieren will, die ich unmittelbar 
darauf lösche? Weil ich den Löschbefehl in meiner echten Anwendung davon abhängig mache, 
was nach der Manipulation von dem betreffenden Titel noch übrig ist - um es mal verkürzt 
auszudrücken). 


Mit besten Grüßen:

Heinrich Allers

allers at t-online.de, http://home.t-online.de/home/allers
Die Welt hat sich am 11.9.2001 nicht verändert, sondern 
uns ist einmal mehr gezeigt worden, daß sie verändert 
werden muß / El mundo no ha cambiado el 11.9.2001, sino 
nos fue demostrado una vez más que tiene que ser 
cambiado




Mehr Informationen über die Mailingliste Allegro