Version 3
ARRAY TO SELECTION (Array; Feld{; Array2; Feld2; ...; ArrayN; FeldN})
Parameter | Typ | Beschreibung | |
Array | Array | Array, das in die Auswahl kopiert | |
werden soll | |||
Feld | Datenfeld | Feld, das die Array-Werte erhält |
Beschreibung
Der Befehl ARRAY TO SELECTION kopiert eine oder mehrere Arrays in eine Auswahl von Datensätzen. Alle angezeigten Datenfelder müssen zur gleichen Tabelle gehören.
Besteht zur Zeit des Aufrufs eine Auswahl, werden die Array-Elemente in der Reihenfolge des Array und der Datensätze übertragen. Gibt es mehr Elemente als Datensätze, werden neue Datensätze angelegt. Sowohl die neuen als auch die bestehenden Datensätze werden automatisch gesichert.
Sind die Arrays von unterschiedlicher Größe, bestimmt das erste Array, wieviel Elemente kopiert werden. Zusätzliche Arrays werden in das Feld gelegt, das auf jeden Array-Name folgt.
Dieser Befehl führt das Umgekehrte von SELECTION TO ARRAY aus. ARRAY TO SELECTION akzeptiert jedoch nicht Datenfelder aus verschiedenen Tabellen. Das gilt auch für verknüpfte Tabellen, selbst wenn sie automatisch sind.
WARNUNG: Dieser Befehl ändert die aktuelle Auswahl und den aktuellen Datensatz. Benutzen Sie ihn daher mit großer Sorgfalt. Sind beim Aufruf von ARRAY TO SELECTION Datensätze gesperrt, werden diese nicht gesichert. Die gesperrten Datensätze legt 4th Dimension in der Menge LockedSet ab. Diese Menge kann nach dem Ausführen des Befehls überprüft werden.
4D Server: Der Befehl wurde für 4D Server optimiert. Arrays werden vom Client-Rechner zum Server gesendet. Die Datensätze werden auf dem Server-Rechner geändert oder erstellt. Da diese Anfrage synchron bearbeitet wird, muss der Client-Rechner warten, bis die Operation erfolgreich abgeschlossen ist. Gesperrte Datensätze werden in der Multi-User bzw. Multi-Prozessumgebung nicht überschrieben.
Beispiel
Im folgenden Beispiel legen die beiden Arrays asLastNames und asCompanies Daten in die Tabelle [People]. Werte aus dem Array asLastNames werden in das Datenfeld [People]Last Name gelegt, Werte aus dem Array asCompanies in das Datenfeld [People]Company:
ARRAY TO SELECTION(asLastNames;[People]Last Name;asCompanies;[People]Company)
Referenz