Eintrag Zeile beim Insert erlauben & beim Update verbieten

18. März 2015 15:16

Geht das?

Wenn eine neue Zeile in der Tabelle eingefügt wird, soll er einen Eintrag zulassen.
Wenn die Zeile allerdings abgeändert werden soll, soll er den Eintrag in einer speziellen Spalte verbieten...

Kann man das irgendwie realisieren?

Re: Eintrag Zeile beim Insert erlauben & beim Update verbiet

18. März 2015 15:44

Jasmin hat geschrieben:Wenn die Zeile allerdings abgeändert werden soll, soll er den Eintrag in einer speziellen Spalte verbieten...


z.B. im onModify Trigger der Tabelle, das Feld auf den Wert des xRecs setzen.

Re: Eintrag Zeile beim Insert erlauben & beim Update verbiet

18. März 2015 16:19

Verstehe ich nicht... Sorry...
Ich müsste ja irgendwo den "alten" / ursprünglichen Wert abspeichern und dann wieder beim "Verlassen?" der Zeile/Spalte setzen, oder?

Re: Eintrag Zeile beim Insert erlauben & beim Update verbiet

18. März 2015 16:43

Jasmin hat geschrieben:Ich müsste ja irgendwo den "alten" / ursprünglichen Wert abspeichern und dann wieder beim "Verlassen?" der Zeile/Spalte setzen, oder?


Den alten Wert hat 'das System' im xrec[.feldname] stehen - automagisch ;-)

Re: Eintrag Zeile beim Insert erlauben & beim Update verbiet

18. März 2015 17:15

Klappt irgendwie nicht...

Code:
OnModify()

if Nummer <> xRec.Nummer then
begin
   Nummer := xRec.Nummer;
   Message('TEST');
end;


Es kommt die Frage, ob ich den Datensatz ändern möchte, wenn ich ja klicke, macht er nichts.
Das Message war nur zum testen, kommt aber auch nicht...

Re: Eintrag Zeile beim Insert erlauben & beim Update verbiet

18. März 2015 17:27

Hallo Jasmin,

Es kommt die Frage, ob ich den Datensatz ändern möchte


Hm, normalerweise gibt´s die Frage nicht - es sei denn man versucht den Primärschlüssel zu ändern - und dann ist man nicht im On Modify-Trigger sondern im On-Rename.. :-)

Kann es sein, dass Nummer das Primärschlüsselfeld ist?

Viele Grüße
Mike

Re: Eintrag Zeile beim Insert erlauben & beim Update verbiet

18. März 2015 17:32

Jasmin hat geschrieben:
Code:
OnModify()

if Nummer <> xRec.Nummer then
begin
   Nummer := xRec.Nummer;
   Message('TEST');
end;


Es kommt die Frage, ob ich den Datensatz ändern möchte, wenn ich ja klicke, macht er nichts.
Das Message war nur zum testen, kommt aber auch nicht...


Ist Nummer ein Teil des Primärschlüssels? Wen Nein, dann den Test im Validate des Feldes reinpacken, ansonsten (Nummer Teil vom PK) rename verwenden...