4D v14.3

Modifie

Accueil

 
4D v14.3
Modifie

Modifie 


 

Modifie ( leChamp ) -> Résultat 
Paramètre Type   Description
leChamp  Champ in Champ dont vous voulez tester la modification
Résultat  Booléen in Vrai si une nouvelle valeur a été assignée au champ, sinon Faux

Cette fonction est conservée pour des raisons de compatibilité uniquement car elle s'appuie sur l'ancienne gestion des cycles d'exécution, elle-même obsolète depuis la version 6 (cf. commandes Avant, Pendant, etc.). Dans la plupart des cas, il est désormais fortement conseillé d'utiliser la fonction Evenement formulaire et de tester si elle retourne l'événement Sur données modifiées.

Modifie retourne Vrai si une valeur a été assignée par programmation au champ leChamp ou s'il a été modifié lors de la saisie de données. La commande Modifie ne fonctionne que lorsqu'elle est appelée dans le cadre d'une méthode formulaire (ou d'une sous-méthode appelée par la méthode formulaire).

Attention, cette commande ne retourne une valeur significative qu'à l'intérieur d'un même cycle d'exécution. Elle est notamment remise à Faux pour tous les événements formulaires correspondant à l'ancien cycle d'exécution Pendant.

Dans le cas de la saisie de données, un champ est considéré comme modifié à partir du moment où un utilisateur l'édite (et change ou non sa valeur originale) puis le quitte pour un autre champ ou pour cliquer sur un objet de formulaire. Notez que le fait qu'un utilisateur active puis quitte un champ à l'aide de la touche Tabulation ne suffit pas en soi à ce que Modifie retourne Vrai. Le champ doit avoir été réellement modifié pour que Modifie retourne Vrai.

Dans le cas de l'exécution d'une méthode, un champ est considéré comme modifié si une valeur lui a été assignée (différente ou non de sa valeur précédente).

Note : La commande Modifie retourne toujours Vrai après l'exécution des commandes EMPILER ENREGISTREMENT et DEPILER ENREGISTREMENT.

Dans tous les cas, pour savoir si la valeur d'un champ a été effectivement modifiée, utilisez la commande Ancien.

Note : Bien que la fonction Modifie puisse être appliquée à tout type de champ, si vous l'utilisez conjointement avec la fonction Ancien, vous devez dans ce cas tenir compte des restrictions liées à cette fonction. Reportez-vous à la description de la commande Ancien.

Pendant la saisie de données, il est généralement plus pratique d'effectuer des opérations dans des méthodes objet que d'utiliser la fonction Modifie dans des méthodes formulaires. Comme une méthode objet reçoit l'événement Sur données modifiées à chaque fois qu'un champ est modifié, utiliser une telle méthode équivaut à appeler Modifie dans une méthode formulaire.

L'exemple suivant teste si le champ [Commandes]Quantité ou le champ [Commandes]Prix a été modifié. Si c'est le cas, le champ [Commandes]Total est recalculé :

 Si((Modifie([Commandes]Quantité)|(Modifie([Commandes]Prix))
    [Commandes]Total:=[Commandes]Quantité*[Commandes]Prix
 Fin de si

Notez que le même résultat aurait pu être obtenu en utilisant la seconde ligne de cette méthode en tant que méthode objet des champs [Commandes]Quantité et [Commandes]Prix dans le cadre de l'événement formulaire Sur données modifiées.

Vous sélectionnez un enregistrement de la table [uneTable], puis vous appelez plusieurs sous-routines qui sont susceptibles de modifier le champ [uneTable]Champ important mais sans provoquer de sauvegarde de l'enregistrement. A la fin de la méthode principale, vous pouvez utiliser la commande Modifie pour déterminer si vous devez stocker l'enregistrement :

  ` L'enregistrement a été sélectionné comme enregistrement courant
  ` Puis vous effectuez des actions à l'aide des sous-routines
 FAIRE QUELQUE CHOSE
 FAIRE AUTRE CHOSE
 NE PAS OUBLIER DE FAIRE CA
  ` ...
  ` Enfin, vous testez le champ pour déterminer s'il faut stocker l'enregistrement
 Si(Modifie([uneTable]Champ important))
    STOCKER ENREGISTREMENT([uneTable])
 Fin de si

 
PROPRIÉTÉS 

Produit : 4D
Thème : Saisie
Numéro : 32
Nom intl. : Modified

Cette commande est obsolète et ne doit plus être utilisée

 
HISTORIQUE 

Modifié : 4D 2004

 
VOIR AUSSI  

Ancien
Evenement formulaire

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v11 SQL Release 6)
4D - Langage ( 4D v12.4)
4D - Langage ( 4D v14 R2)
4D - Langage ( 4D v14 R3)
4D - Langage ( 4D v13.5)
4D - Langage ( 4D v14.3)
4D - Langage ( 4D v14 R4)