PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Comportement en sortie de ligne d'une table fichier
Comportement en sortie de ligne d'une table fichier
Débuté par aprosper_fr, 06 déc. 2004 10:53 - 5 réponses
Posté le 06 décembre 2004 - 10:53
J'ai une table basée sur un seul fichier et je veux traiter de manière différente l'ajout et la modification d'une donnée d'un enregistrement.

J'ai placé mon code dans la partie 'Sortie de ligne ' de ma table et le code est bien exécuté si je modifie un enregsitrement existant ou si j'en crée un nouveau, dès que je mets le curseur en dehors de l'enregistrement.

Sauf que cela ne fonctionne pas si la donnée modifiée est un interrupteur, géré dans le fichier sous forme d'un booléen.

Quand je côche ou décôche cet interrupteur puis que je quitte l'enregistrement, le booléen est bien mis à jour dans le fichier mais le traitement 'Sortie de ligne' n'est pas lancé alors que ça va très bien si la donnée modifiée est du texte par exemple !!

Pourquoi cette différence de traitement ?
Posté le 06 décembre 2004 - 11:54
Bonjour,

Que se passe-t-il si tu réalises un événement sortie de ligne de table à chaque événement modification de l'interrupteur ?

Evénement Modification interrupteur Booléen
ExécuteTraitement(Mon_tableau, trtSortieligne)
Fin

Je pense que cela doit fonctionner.

Bien cordialement,

Jacques De Schryver
Posté le 06 décembre 2004 - 12:40
Je crois me souvenir d'avoir déjà eu ce genre de soucis avec des
colonnes interrupteurs... Je ne sais pas franchement pourquoi le
traitement est différent, mais en tout cas il me semble que j'avais du
régler ce problème en faisant un
EcranPremier(MoiMeme..Nom)
dans le code A chaque modification de mon champ interrupteur, pour
forcer l'entrée dans la ligne de table, et donc l'execution du code de
sortie ensuite.

Céline



Alain a écrit:
J'ai une table basée sur un seul fichier et je veux traiter de manière différente l'ajout et la modification d'une donnée d'un enregistrement.

J'ai placé mon code dans la partie 'Sortie de ligne ' de ma table et le code est bien exécuté si je modifie un enregsitrement existant ou si j'en crée un nouveau, dès que je mets le curseur en dehors de l'enregistrement.

Sauf que cela ne fonctionne pas si la donnée modifiée est un interrupteur, géré dans le fichier sous forme d'un booléen.

Quand je côche ou décôche cet interrupteur puis que je quitte l'enregistrement, le booléen est bien mis à jour dans le fichier mais le traitement 'Sortie de ligne' n'est pas lancé alors que ça va très bien si la donnée modifiée est du texte par exemple !!

Pourquoi cette différence de traitement ?
Posté le 06 décembre 2004 - 14:04
Merci pour les réponses...qui me confortent dans l'idée qu'il y a là une anomalie !
Posté le 06 décembre 2004 - 15:30
Re-bonjour,

C'est dû au fait que l'interrupteur est considéré comme une zone de saisie indépendante et non pas comme une cellule du tableau.

On le traite donc en tant que tel.

As-tu essayé si cela marche ?

Jacques De Schryver
Posté le 07 décembre 2004 - 17:53
En fait, le ST m'a conseillé d'ajouter RepriseSaisie(Moimême) dans le code de modification de la colonne... et ça marche.

Apparemment, il s'agit bien d'une anomalie mais elle est contournable via la solution proposée.

Merci à tous !