APPEND FROM ARRAY-Befehl
Fügt der aktuell ausgewählten Tabelle für jede Zeile eines Arrays einen Datensatz hinzu und kopiert für jeden Datensatz die Daten, die in der entsprechenden Arrayzeile stehen.
APPEND FROM ARRAY ArrayName [FOR lExpression]
[FIELDS FieldList | FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton]
Parameter
ArrayName
Gibt den Namen des Arrays an, in dem sich die Daten befinden, die in die neuen Datensätze kopiert werden sollen. Es werden so lange Datensätze an die jeweilige Tabelle angefügt, bis alle Zeilen des Arrays angefügt sind.FOR lExpression
Legt eine Bedingung für die aus dem Array anzufügenden Datensätze fest. lExpression muss in seinem als Bedingung formulierten Ausdruck den Namen eines Zielfeldes enthalten.Bevor eine Zeile des Arrays als Datensatz an die Tabelle angefügt wird, wird das Arrayelement, das dem in lExpression angegebenen Zielfeld entspricht, dahingehend geprüft, ob es der in lExpression formulierten Bedingung genügt. Ist dies der Fall, wird ein Datensatz angefügt.
Genügt das Arrayelement nicht der Bedingung, wird die Arrayzeile nicht angefügt, und die nächste Zeile wird dahingehend geprüft, ob diese die Bedingung erfüllt.
FIELDS FieldList
Legt fest, dass nur die Felder in FieldList mit Daten aus dem Array aktualisiert werden. Das erste Feld der Liste wird mit dem Wert des ersten Elements des Arrays aktualisiert, das zweite Feld wird mit dem Wert des zweiten Elements aktualisiert usw.FIELDS LIKE Skeleton
Legt fest, dass Felder, die mit dem Feldplatzhalter Skeleton übereinstimmen, mit Daten aus dem Array aktualisiert werden.FIELDS EXCEPT Skeleton
Legt fest, dass alle Felder außer denen, die mit dem Feldplatzhalter Skeleton übereinstimmen, mit Daten aus dem Array aktualisiert werden.Der Feldplatzhalter Skeleton akzeptiert Platzhalter. Um z. B. anzugeben, dass alle Felder beginnend mit den Buchstaben A und P mit Daten aus dem Array aktualisiert werden, geben Sie Folgendes ein:
APPEND FROM ARRAY aMyArray FIELDS LIKE A*,P*
Die LIKE-Klausel kann mit der EXCEPT-Klausel kombiniert werden:
APPEND FROM ARRAY aMyArray FIELDS LIKE A*,P* EXCEPT PARTNO*
Hinweise
Felder des Datentyps Memo oder Objekt werden in einem APPEND FROM ARRAY-Befehl ignoriert. Ist eine Tabelle für den Mehrbenutzer-Modus geöffnet, sperrt APPEND FROM ARRAY den Tabellenvorspann, solange Datensätze angefügt werden.
Ist das Array eindimensional, fügt APPEND FROM ARRAY der Tabelle einen Datensatz hinzu. Der Inhalt des ersten Arrayelements wird in das erste Feld des neuen Datensatzes eingefügt, der Inhalt des zweiten Arrayelements in das zweite Feld usw.
Hat das eindimensionale Array mehr Elemente als die Tabelle Felder, werden die restlichen Elemente ignoriert. Hat die Tabelle mehr Felder als das Array Elemente, werden die restlichen Felder auf den entsprechenden Standardleerwert initialisiert. Nachstehend werden die Standardleerwerte für jeden Feldtyp aufgelistet:
Feldtyp | Standardwert |
---|---|
Zeichen | Leerzeichen |
Numerisch | 0 |
Währung | 0 |
Gleitkomma | 0 |
Integer (Ganzzahl) | 0 |
Double | 0 |
Datum | Leeres Datum (z. B. CTOD("")) |
DatumZeit | Leere DatumZeit-Angabe (z. B. CTOT("")) |
Logisch | Falsch (.F.) |
Memo | Leer (kein Inhalt) |
Ist das Array zweidimensional, fügt APPEND FROM ARRAY der Tabelle für jede Zeile im Array einen neuen Datensatz hinzu. Hat das Array z. B. vier Zeilen, werden vier neue Datensätze an die Tabelle angefügt.
Der Inhalt der ersten Arrayspalte wird in das erste Feld des neuen Datensatzes eingefügt, der Inhalt der zweiten Arrayspalte in das zweite Feld usw. Hat das Array z. B. vier Zeilen und drei Spalten, dann werden Elemente aus der ersten Arrayspalte jeweils in das erste Feld der vier neuen Datensätze eingefügt, die der Tabelle angehängt werden.
Hat das zweidimensionale Array mehr Spalten als die Tabelle Felder, werden die restlichen Spalten ignoriert. Hat die Tabelle mehr Felder als das Array Spalten, werden die restlichen Felder auf Leerwerte initialisiert.
APPEND FROM ARRAY kann selbst dann Werte in ein Feld kopieren, wenn der Datentyp des entsprechenden Arrayelements nicht mit dem Datentyp des Feldes übereinstimmt, vorausgesetzt, dass die Daten des Arrayelements mit dem Datentyp des entsprechenden Feldes kompatibel sind. Sind die Daten nicht kompatibel, wird das Feld auf den für leere Felder verwendeten Standardwert initialisiert.
Beispiel
In diesem Beispiel wird eine Tabelle erstellt und anschließend mit APPEND FROM ARRAY ein Datensatz an die neue Tabelle angehängt.
LOCAL ARRAY aNewRec(3)
* Create the table
CREATE TABLE Test FREE (Object C(10), Color C(16), SqFt n(6,2))
SCATTER TO aNewRec BLANK && Create a new array from the table
aNewRec[1]="Box" && Fill the the array
aNewRec[2]="Red"
aNewRec[3]=12.5
APPEND FROM ARRAY aNewRec && Add record containing array contents
&& to the table
Siehe auch
APPEND | COPY TO ARRAY | DIMENSION | GATHER | SCATTER