PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Problème lecture table
Problème lecture table
Iniciado por Lionel Lemoine, 11,feb. 2020 15:34 - No hay respuesta
Miembro registrado
61 mensajes
Publicado el 11,febrero 2020 - 15:34
Bonjour.
Voici ma problématique :

Dans ma fenêtre, j'ai 2 tables avec chacune une colonne interrupteur. Dans chacune de ces tables, je dois choisir une ligne, c;.a.d. cochez une ligne et une seule dans chaque table. Ce que je vérifie avec le code suivant :
nNbrSel est un entier

// Une recette et une seule choisie
nNbrSel = 0
POUR TOUTE LIGNE i de TABLE_Recettes
SI TABLE_Recettes.COL_Selec[i] = Vrai ALORS
nNbrSel ++
gnidRecette = TABLE_Recettes.COL_IDRecettes[i]
FIN
FIN

SI nNbrSel <> 1 ALORS
Erreur("Vous devez choisir une recette et une seule")
RENVOYER Faux
FIN

// Un plan d'expérience et un seul choisi
nNbrSel = 0

POUR TOUTE LIGNE i de TABLE_REQ_Liste_PE
SI TABLE_REQ_Liste_PE.COL_Selec[i] = Vrai ALORS
nNbrSel ++
gnIdEssai = TABLE_REQ_Liste_PE.COL_IdEssai[i]
gnIdPlanExp = TABLE_REQ_Liste_PE.COL_IdPE[i]
FIN
FIN

SI nNbrSel <> 1 ALORS
Erreur("Vous devez choisir un plan d'expérience et un seul")
RENVOYER Faux
FIN


La première partie (sur la table Recette), fonctionne sans souci.
Par contre sur la table Plan d'expérience, la colonne interrupteur est toujours à faux.

Le code suivant, en revanche, fonctionne :
POUR i = 1 À TableOccurrence(TABLE_REQ_Liste_PE)
SI TABLE_REQ_Liste_PE.COL_Selec[i] = Vrai ALORS
nNbrSel ++
gnIdEssai = TABLE_REQ_Liste_PE.COL_IdEssai[i]
gnIdPlanExp = TABLE_REQ_Liste_PE.COL_IdPE[i]
FIN
FIN


Je peux donc utiliser cette syntaxe, mais je serais quand même curieux de savoir ce qui se passe mal dans le code d'origine...

Si quelqu'un comprend cette bizarrerie .....

Merci d'avance