TurboPL Referenz

replace Kommando

Top  Previous  Next

Syntax

.replace Satzbeschreibung

Kategorie

Datenbank-Befehl

Erklärung

Im aktuellen Datensatz der Tabelle werden die Ersetzungen aus der Satzbeschreibung vorgenommen und der Datensatz dann in die Tabelle geschrieben. Die in der Satzbeschreibung nicht erwähnten Datenfelder behalten dabei ihren vorherigen Wert. Die Satzbeschreibung hat die Form

TABELLE(Feld1 = NeuerWert1, Feld2 = NeuerWert2, ...)

Falls replace in einem Subreport auf Tabellen angewandt wird, die selbst zur Bearbeitung des Subreports herangezogen werden, darf durch keine der Feldzuweisungen der aktuelle Zugriff beeinflußt werden. Es ist hier in vielen Fällen günstiger, wenn in einem ersten Subreport die betroffenen Datensätze markiert werden, und die eigentlichen Ersetzungen in einem zweiten Subreport vollzogen werden, in dem der Zugriff auf Markierung gesetzt wird.

Beispiel

In der Tabelle ARTIKEL werden alle Einzelpreise um 10% erhöht.

.primTableIs ARTIKEL
.setAccess Nummer
.sub
.replace ARTIKEL(Einzelpreis=Einzelpreis*1.10)

.endsub

Das replace-Kommando kann man auch durch normale Datenbankprozeduren ersetzen, allerdings ist dann erheblich mehr zu schreiben. So entspricht zum Beispiel das Kommando

REPLACE KUNDEN(LetzterKontakt=Today)

der Prozedursequenz

KUNDEN.LetzterKontakt := Today
WriteRec(KUNDEN, RecNo(KUNDEN))

Siehe auch

append Kommando