4D v16.3SELECTION TO ARRAY |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
SELECTION TO ARRAY
SELECTION TO ARRAY
La commande SELECTION TO ARRAY crée un ou plusieurs tableau(x) et y copie les valeurs des champ(s) ou les numéros d'enregistrement(s) de la sélection courante. SELECTION TO ARRAY s'applique à la sélection courante de la table désignée par le premier paramètre (nom de table ou nom de champ). La commande peut réaliser les opérations suivantes :
Chaque tableau est typé en fonction du type de champ. A noter toutefois que SELECTION TO ARRAY appliquée à un champ de type Heure créera un tableau de type Heure uniquement si le tableau n’a pas déjà été défini dans un autre type. Par exemple dans le contexte ci-dessous, le tableau monTab conservera le type Entier long : ARRAY LONGINT(monTab;0) Si vous chargez les numéros des enregistrements, ils sont copiés dans un tableau de type Entier long. Si vous passez un * en dernier paramètre, 4D n’exécute pas immédiatement la ligne d’instruction correspondante mais la stocke en mémoire ; vous pouvez ainsi empiler plusieurs lignes se terminant par un *. L’ensemble des lignes en attente sera exécuté par une instruction SELECTION TO ARRAY finale sans paramètre *. A cette fin, la commande peut être appelée sans aucun paramètre. Dans ce cas, les types des tableaux sont vérifiés au moment de l’exécution de la ligne finale (ne contenant pas de *). 4D Server : La commande SELECTION TO ARRAY est optimisée pour 4D Server. Chaque tableau est créé sur le serveur puis envoyé en totalité sur le poste client. ATTENTION : SELECTION TO ARRAY peut créer des tableaux de taille importante, en fonction de la taille de la sélection courante, ainsi que du type et de la taille des données à charger. Comme les tableaux résident en mémoire, il peut être utile de tester la taille des tableaux créés après l'exécution de la commande, ou d'utiliser une méthode projet d'appel sur erreur. Note : Après un appel à SELECTION TO ARRAY, la sélection courante et l'enregistrement courant ne sont pas modifiés, mais l'enregistrement courant n'est plus chargé. Utilisez la commande LOAD RECORD après un SELECTION TO ARRAY si vous souhaitez utiliser les valeurs des champs de l'enregistrement courant. Dans l'exemple suivant, la table [Personnes] dispose d'un lien automatique vers la table [Sociétés]. Les deux tableaux tabNoms et tabAdresseSociétés sont dimensionnés en fonction du nombre d'enregistrements dans la sélection de la table [Personnes] et contiennent des informations venant des deux tables : SELECTION TO ARRAY([Personnes]Nom;tabNoms;[Sociétés]Adresse;tabAdresseSociétés) L'exemple ci-dessous retourne les numéros d'enregistrements de la table [Clients] dans le tableau tabNumEnr et les valeurs du champ [Clients]Noms dans le tableau tabNoms : SELECTION TO ARRAY([Clients];tabNumEnr;[Clients]Noms;tabNoms) Le même exemple peut être écrit : SELECTION TO ARRAY([Clients];tabNumEnr;*)
Voir aussi
ARRAY TO SELECTION
|
PROPRIÉTÉS
Produit : 4D HISTORIQUE
Créé : < 4D v6 UTILISATION DE L'ARTICLE
4D - Langage ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||