version 5
COPIER SELECTION ({table; }tempo)
Paramètre | Type | Description | |
table | Table | Table de laquelle il faut copier la sélection ou | |
Table par défaut si ce paramètre est omis | |||
tempo | Alpha | Nom de la sélection temporaire à créer |
Description
COPIER SELECTION copie la sélection courante de table dans une sélection temporaire tempo. La table par défaut du process courant est utilisée si le paramètre optionnel table n'est pas spécifié. La sélection temporaire tempo contient une copie de la sélection. La sélection courante et l'enregistrement courant de table pour le process courant ne sont pas modifiés.
Une sélection temporaire ne contient pas les enregistrements, mais une liste triée des références aux enregistrements. Chaque référence à un enregistrement prend 4 octets en mémoire. Ceci signifie que lorsqu'une sélection est copiée à l'aide de la commande COPIER SELECTION, la mémoire requise est 4 octets multipliés par le nombre d'enregistrements dans la sélection. Comme les sélections temporaires restent en mémoire, il vous faut assez de mémoire pour la sélection temporaire ainsi que la sélection courante de la table pour le process.
4D Server : La sélection temporaire tempo ainsi que la sélection courante sont logées dans la mémoire du poste serveur. En conséquence, assurez-vous que le serveur dispose de suffisamment de mémoire.
Utilisez la commande EFFACER SELECTION pour libérer la mémoire utilisée par tempo.
Exemple
L'exemple suivant permet de vérifier s'il y a des factures impayées dans la table [Personnes]. La sélection est triée puis sauvegardée. Nous cherchons toutes les factures qui n'ont pas été payées. Ensuite, nous réutilisons la sélection et effaçons la sélection temporaire en mémoire :
TOUT SELECTIONNER([Personnes]) `Permettre à l'utilisateur de trier la sélection TRIER([Personnes]) ` Stocker la sélection dans une sélection temporaire COPIER SELECTION([Personnes];"TriéeUtilisateur") ` Rechercher les factures impayées CHERCHER([Personnes];[Personnes]FactureDue=Vrai) ` Si un enregistrement a été trouvé Si (Enregistrements trouves([Personnes])>0) ` Informer l'utilisateur ALERTE("Oui, quelques factures n'ont pas été réglées.") Fin de si ` Réutiliser la sélection temporaire triée UTILISER SELECTION("TriéeUtilisateur") ` Effacer la sélection de la mémoire EFFACER SELECTION("TriéeUtilisateur")
Référence
DEPLACER SELECTION, EFFACER SELECTION, UTILISER SELECTION.