FAQ n°2452, publiée le 25/09/2002
WINDEV
Dans une combo auto-alimentée avec saisie, comment différencier une valeur saisie d'une valeur choisie?
Deux tests permettent de savoir si la valeur a été saisie, et non pas choisie dans la liste déroulée.

1. Si la valeur a été saisie alors ListeSelect( <nom_combo> ) retourne -1.
2. La propriété ..Valeur retourne une valeur vide alors que la valeur saisie est disponible dans ..ValeurAffichée.

L'exemple suivant montre comment ajouter la nouvelle valeur saisie au fichier attaché à la combo.

// test de la combo auto-alimentée
SI ListeSelect(Combo_COULEURS) = -1 ALORS
SI OuiNon("Confirmez-vous l'ajout de la couleur suivante", Combo_COULEURS..ValeurAffichée) ALORS
COULEURS.COULEUR = Combo_COULEURS..ValeurAffichée
HAjoute(COULEURS)
ListeAffiche(Combo_COULEURS, taInit)
FIN
FIN