DELETE SUBRECORD

4D - Documentation   Français   English   German   Spanish   Japanese   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 11 (Geändert)


DELETE SUBRECORD (Untertabelle)

ParameterTypBeschreibung
UntertabelleUntertabelleUntertabelle, in der ein Unterdatensatz
gelöscht werden soll

Hinweis zur Kompatibilität: Untertabellen werden ab 4D Version 11 nicht mehr unterstützt. Ein Kompatibilitätsmechanismus sorgt dafür, dass dieser Befehl in konvertierten Datenbanken weiter funktioniert. Es wird jedoch dringend empfohlen, alle Untertabellen durch verknüpfte Standardtabellen zu ersetzen.

Beschreibung

Der Befehl DELETE SUBRECORD löscht den aktuellen Unterdatensatz von Untertabelle. Ist kein aktueller Unterdatensatz vorhanden, wird DELETE SUBRECORD nicht ausgeführt.

Nach dem Aufruf von DELETE SUBRECORD ist die aktuelle Unterauswahl von Untertabelle leer. DELETE SUBRECORD kann deshalb nicht zum Löschen einer Auswahl von Unterdatensätzen benutzt werden.

Das Löschen eines Unterdatensatzes ist endgültig, wenn Sie den Datensatz sichern, zu dem die Untertabelle gehört. Löschen Sie den Hauptdatensatz, werden alle dazugehörigen Unterdatensätze ebenfalls gelöscht.

Um eine Unterauswahl zu löschen, erstellen Sie diese zuerst und löschen Sie den ersten Unterdatensatz. Erstellen Sie dann erneut die Unterauswahl und löschen wieder den ersten Unterdatensatz, usw..

Beispiele

1. Folgendes Beispiel löscht alle Unterdatensätze einer Untertabelle:

   ALL SUBRECORDS([People]Children) 
   While (Records in subselection([People]Children)>0) 
      DELETE SUBRECORD([People]Children) 
      ALL SUBRECORDS([People]Children)
   End while

2. Folgendes Beispiel löscht die Unterdatensätze in der Tabelle [People], wenn das Kind 12 Jahre oder älter ist:

   ALL RECORDS([People]) ` Wähle alle Datensätze 
   For ($vlRecord;1;Records in selection([People])) `Suche für alle Datensätze der Tabelle
         ` diejenigen mit Unterdatensätzen mit den Kriterien
      QUERY SUBRECORDS([People]Children;[People]Children'Age>=12)
         ` Durchlaufe, bis die Suche keine weiteren Unterdatensätze findet.
      While (Records in subselection([People]Children)>0)
            ` Lösche Unterdatensatz 
         DELETE SUBRECORD([People]Children)
            ` Suche erneut
         QUERY SUBRECORDS([People]Children;[People]Children'Age>=12) 
      End while 
      SAVE RECORD([People]) ` Sichere Hauptdatensatz
      NEXT RECORD([People]) 
   End for

Referenz

ALL SUBRECORDS, QUERY SUBRECORDS, Records in subselection, SAVE RECORD.


4D - Documentation   Français   English   German   Spanish   Japanese   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next