4D v16.3

Ancien

Accueil

 
4D v16.3
Ancien

Ancien 


 

Ancien ( leChamp ) -> Résultat 
Paramètre Type   Description
leChamp  Champ in Champ dont vous voulez obtenir l'ancienne valeur
Résultat  Expression in Valeur originale de champ

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 champ 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



Voir aussi  

Modifie

 
PROPRIÉTÉS 

Produit : 4D
Thème : Saisie
Numéro : 35
Nom intl. : Old

Commande(s) éligible(s) à l'exécution dans un process préemptif

 
HISTORIQUE 

Modifié : 4D v11 SQL Release 1

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)