Ancien

4D - Documentation   Français   English   German   Español   Japanese   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant

version 11.1 (Modifiée)


Ancien (leChamp) Expression

ParamètreTypeDescription
leChampChampChamp dont vous voulez obtenir l'ancienne valeur
RésultatExpressionValeur originale de champ

Description

La commande Ancien retourne la valeur qui était stockée dans leChamp avant qu'il n'ait été modifié par programmation ou pendant la saisie de données.

A chaque fois que vous changez d'enregistrement courant pour une table, 4D crée et maintient en mémoire un double de l'"image" du nouvel enregistrement courant au moment où il est chargé. Lorsque vous modifiez un enregistrement, vous travaillez avec l'image réelle de l'enregistrement, et non son double. Ce double est effacé lorsque que vous changez à nouveau d'enregistrement courant.

Ancien retourne la valeur de leChamp telle qu'elle est stockée dans le double de l'enregistrement. Autrement dit, pour un enregistrement existant, Ancien retourne la valeur du champ telle qu'elle avait été sauvegardée sur disque. Pour un enregistrement qui vient d'être créé, Ancien retourne la valeur vide par défaut correspondant au type de leChamp. Par exemple, si leChamp est de type Alpha, Ancien retourne une chaîne vide. Si leChamp est de type numérique, Ancien retourne zéro (0), etc.

Ancien fonctionne avec leChamp de la même manière, que le champ ait été modifié par programmation ou suite à des modifications effectuées par un utilisateur.

La fonction accepte tous les types de champs.

Pour restaurer la valeur originale d'un champ, assignez-lui la valeur retournée par Ancien.

Note : Pour des raisons techniques, dans le cas des champs de type Image et BLOB, l'expression retournée par Ancien ne peut pas être directement utilisée comme paramètre d'une autre commande. Il est nécessaire de faire transiter la valeur par une variable intermédiaire. Par exemple :

       `Ne PAS écrire (provoque une erreur de syntaxe) :
   $taille :=Taille BLOB(Ancien([LaTable]LeBlob)) `INCORRECT 

       `Ecrire :
   $ancienBlob :=Ancien([LaTable]LeBlob) 
   $taille :=Taille BLOB($ancienBlob) `CORRECT 

Référence

Modifie.


4D - Documentation   Français   English   German   Español   Japanese   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant