GATHER-Befehl

Ersetzt die Daten des aktuellen Datensatzes der aktuellen Tabelle durch Daten aus einem Array, einer Reihe von Variablen oder einem Objekt.

GATHER FROM ArrayName | MEMVAR | NAME ObjectName
   [FIELDS FieldList | FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton]
   [MEMO]

Parameter

  • FROM ArrayName
    Gibt das Array an, durch dessen Daten die Daten des aktuellen Datensatzes ersetzt werden. Der Inhalt der Arrayelemente ersetzt, angefangen mit dem ersten Element, den Inhalt der entsprechenden Felder des Datensatzes. Der Inhalt des ersten Arrayelements ersetzt das erste Feld des Datensatzes; der Inhalt des zweiten Arrayelements ersetzt das zweite Feld usw.

    Wenn das Array weniger Elemente hat, als die Tabelle Felder enthält, werden die überzähligen Felder ignoriert. Wenn das Array mehr Elemente hat, als die Tabelle Felder enthält, werden die überzähligen Arrayelemente ignoriert.

  • MEMVAR
    Gibt die Variablen oder Arrays an, aus denen Daten in den aktuellen Datensatz kopiert werden. Die Daten werden aus der Variablen in das Feld übertragen, das denselben Namen hat wie die Variable. Der Inhalt eines Feldes wird nicht ersetzt, wenn keine Variable mit demselben Namen wie das Feld vorhanden ist.

    Tipp   Sie können Variablen mit denselben Namen wie Felder einer Tabelle erstellen, indem Sie MEMVAR oder BLANK in SCATTER angeben.

  • NAME ObjectName
    Gibt ein Objekt an, dessen Eigenschaften dieselben Namen haben wie Felder der jeweiligen Tabelle. Der Inhalt jedes Feldes wird durch den Wert der Eigenschaft ersetzt, die denselben Namen hat wie das entsprechende Feld. Der Inhalt eines Feldes wird nicht ersetzt, wenn keine Eigenschaft mit demselben Namen wie das Feld vorhanden ist.

  • FIELDS FieldList
    Gibt die Felder an, deren Inhalt durch den Inhalt der Arrayelemente oder Variablen ersetzt wird. Nur der Inhalt der in FieldList angegebenen Felder wird ersetzt.

  • FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton
    Sie können bestimmte Felder durch den Inhalt von Arrayelementen oder Variablen ersetzen, indem Sie die LIKE- oder EXCEPT-Klausel oder beide angeben. Wenn Sie LIKE Skeleton angeben, ersetzt Visual FoxPro die Felder, die Skeleton entsprechen. Wenn Sie EXCEPT Skeleton angeben, ersetzt Visual FoxPro alle Felder außer denen, die Skeleton entsprechen.

    Skeleton unterstützt Platzhalterzeichen (* und ?). Um z. B. alle Felder zu ersetzen, deren Namen mit den Buchstaben A oder P beginnen, können Sie den folgenden Code verwenden:

    GATHER FROM gamyarray FIELDS LIKE A*,P*
    
  • MEMO
    Gibt an, dass der Inhalt von Memofeldern durch den Inhalt von Arrayelementen oder Variablen ersetzt werden soll. Wird MEMO nicht angegeben, werden Memofelder übergangen, wenn GATHER den Inhalt von Feldern durch den Inhalt eines Arrays oder einer Variablen ersetzt. Objekt- oder Bildfelder werden in GATHER immer ignoriert, selbst wenn Sie das Schlüsselwort MEMO angeben.

Beispiel

In diesem Beispiel wird GATHER verwendet, um Daten in einen neuen Datensatz einer Tabelle zu kopieren. Sobald die Tabelle Test erstellt ist, werden mit Hilfe von SCATTER mehrere Variablen basierend auf den Feldern der Tabelle erstellt. Den Feldern wird anschließend jeweils ein Wert zugewiesen, und der Tabelle wird ein neuer, leerer Datensatz hinzugefügt.

CREATE TABLE Test FREE ;
   (Object C(10), Color C(16), SqFt n(6,2))
SCATTER MEMVAR BLANK
m.Object="Box"
m.Color="Red"
m.SqFt=12.5
APPEND BLANK
GATHER MEMVAR
BROWSE

Im folgenden Beispiel wird GATHER mit der NAME-Klausel verwendet, um Daten in einen neuen Datensatz einer Tabelle zu kopieren. Sobald die Tabelle Test angelegt ist, wird mit Hilfe von SCATTER ein Objekt mit Eigenschaften erstellt, die auf den Feldern der Tabelle basieren. Den Eigenschaften des Objekts werden anschließend Werte zugewiesen, und der Tabelle wird ein neuer, leerer Datensatz hinzugefügt.

CREATE TABLE Test FREE ;
   (Object C(10), Color C(16), SqFt n(6,2))

SCATTER NAME oTest BLANK
oTest.Object="Box"
oTest.Color="Red"
oTest.SqFt=12.5
APPEND BLANK
GATHER NAME oTest
RELEASE oTest
BROWSE

Siehe auch

APPEND FROM ARRAY | COPY TO ARRAY | DIMENSION | SCATTER