Version 11 (Geändert)
CREATE SUBRECORD (Untertabelle)
Parameter | Typ | Beschreibung | |
Untertabelle | Untertabelle | Untertabelle, für die ein Unterdatensatz | |
angelegt 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 CREATE SUBRECORD legt einen Unterdatensatz in Untertabelle an und wählt ihn als aktuellen Unterdatensatz aus.
Dieser Unterdatensatz wird nur gespeichert, wenn der dazugehörige Datensatz gesichert wurde. Besteht kein aktueller Datensatz für die Tabelle von Untertabelle, wird der Befehl CREATE SUBRECORD nicht ausgeführt.
Wollen Sie einen neuen Unterdatensatz über ein Eingabeformular hinzufügen, rufen Sie den Befehl ADD SUBRECORD auf. Mit CREATE SUBRECORD wird der Datensatz nur im Arbeitsspeicher erzeugt. Untertabelle muss immer hinter den dazugehörigen Tabellennamen geschrieben werden.
Beispiel
Folgendes Beispiel ist eine Objektmethode für eine Schaltfläche. Ist sie angeklickt, werden in der Tabelle [People] neue Unterdatensätze für Kinder erzeugt. Die Schleife wird solange wiederholt, bis der Benutzer auf die Schaltfläche Abbrechen klickt. Die Kinder werden in einem Unterformular angezeigt. Hier können jedoch nicht direkt Daten eingegeben werden, da die Option Eingebbar inaktiv ist:
Repeat ` Erhalte Name des Kindes vChild := Request("Name (Abbrechen, wenn ausgeführt):") ` Hat der Benutzer auf OK geklickt If (OK = 1) ` Füge neuen Unterdatensatz für ein Kind hinzu CREATE SUBRECORD([People]Children) ` Weise dem Unterdatenfeld Name des Kindes zu [People]Children'Name:=vChild End if Until (OK=0)
Referenz
ADD SUBRECORD, DELETE SUBRECORD, MODIFY SUBRECORD, SAVE RECORD.