4D v14.3SELECTION TO ARRAY |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
SELECTION TO ARRAY
|
SELECTION TO ARRAY {( Feld | Tabelle ; ArrayName {; Feldname ; ArrayName {; Feldname2 ; ArrayName2 ; ... ; FeldnameN ; ArrayNameN}}{; *})} | ||||||||
Parameter | Typ | Beschreibung | ||||||
Feld | Tabelle | Feld, Tabelle |
![]() |
Feld zum Holen von Daten oder Tabelle zum Holen von Datensatznummern | |||||
ArrayName | Array |
![]() |
Array, das Feldwerte oder Datensatznummern erhalten soll | |||||
Feldname | Feld |
![]() |
Wiederzufindendes Feld in Array | |||||
ArrayName | Array |
![]() |
Array zum Empfangen von Felddaten | |||||
* | Operator |
![]() |
Auf Ausführung warten | |||||
Der Befehl SELECTION TO ARRAY erstellt ein oder mehrere Arrays und kopiert Daten in Feldern oder Datensatznummern aus der aktuellen Auswahl in die Arrays.
SELECTION TO ARRAY gilt für die Auswahl der Tabelle, die im ersten Parameter (Tabellenname oder Feldname) angegeben ist. Damit können Sie:
Jedes Array erhält den Typ des Datenfeldes.
Wenden Sie SELECTION TO ARRAY auf ein Feld vom Typ Zeit an, müssen Sie beachten, dass diese Befehle nur ein Array vom Typ Zeit anlegen, wenn für das Array noch kein anderer Typ definiert wurde. So bleibt zum Beispiel im folgenden Kontext myArray ein Array vom Typ Lange Ganzzahl:
ARRAY LONGINT(myArray;0)
SELECTION TO ARRAY([myTable]myTimeField;myArray)
Datensatznummern werden in ein Array vom Typ Lange Ganzzahl geladen.
Übergeben Sie den Parameter *, führt 4D die entsprechende Zeile der Anweisung nicht sofort aus, sondern legt sie stattdessen in den Speicher; auf diese Weise können Sie Zeilen, die mit * enden, stapeln. All diese auf Ausführung wartenden Zeilen werden durch eine abschließende Anweisung SELECTION TO ARRAY ohne den Parameter * ausgeführt. Aus diesem Grund lässt sich der Befehl jetzt ohne weitere Parameter aufrufen.
Die Arraytypen werden beim Ausführen der letzten Zeile (ohne *) geprüft.
Analog zum Befehl QUERY können Sie so eine komplexe Anweisung in eine Reihe von Zeilen aufteilen, die leichter zu lesen und zu pflegen ist. Sie können auch Anweisungen dazwischen einfügen oder ein Array innerhalb einer Schleife anlegen. Weitere Informationen dazu finden Sie im 2. Beispiel des Befehls ARRAY TO SELECTION.
4D Server: SELECTION TO ARRAY wurde für 4D Server optimiert. Jedes Array wird auf dem Server erstellt und dann komplett auf den Client-Rechner übertragen.
WARNUNG: SELECTION TO ARRAY erstellt u.U. umfangreiche Arrays, je nach der Größe der aktuellen Auswahl bzw. Typ und Umfang der zu ladenden Daten. Da Arrays im Speicher bleiben, empfehlen wir, das Ergebnis nach Ende des Befehls zu testen. Prüfen Sie die Größe jedes resultierenden Array oder sichern Sie den Aufruf dieses Befehls mit einer Projektmethode ON ERR CALL.
Hinweis: Nach Aufrufen von SELECTION TO ARRAY bleiben die aktuelle Auswahl und der aktuelle Datensatz gleich, der aktuelle Datensatz wird jedoch nicht länger geladen. Benötigen Sie die Werte der Datenfelder im aktuellen Datensatz, verwenden Sie nach Aufrufen von SELECTION TO ARRAY den Befehl LOAD RECORD.
Im folgenden Beispiel besteht eine automatische Verknüpfung von der Tabelle [People] zur Tabelle [Company]. Die beiden Arrays asLastName und asCompanyAddr werden gemäß der Anzahl der in der Tabelle [People] ausgewählten Datensätze dimensioniert und enthalten Informationen aus beiden Tabellen:
SELECTION TO ARRAY([People]Last Name;asLastName;[Company]Address;asCompanyAddr)
Folgendes Beispiel gibt die Datensatznummern von [Clients] im Array alRecordNumbers zurück und die Datenfeldwerte aus [Clients]Names im Array asNames:
SELECTION TO ARRAY([Clients];alRecordNumbers;[Clients]Names;asNames)
Produkt: 4D
Thema: Arrays
Nummer:
260
Erstellt: < 4D v6
Geändert: 4D v13
ARRAY TO SELECTION
MULTI SORT ARRAY
ON ERR CALL
SELECTION RANGE TO ARRAY
SET AUTOMATIC RELATIONS
4D Programmiersprache ( 4D v14 R2)
4D Programmiersprache ( 4D v14 R3)
4D Programmiersprache ( 4D v14.3)
4D Programmiersprache ( 4D v14 R4)
Geerbt von : SELECTION TO ARRAY ( 4D v13.5)