PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → TableCherche
TableCherche
Iniciado por Éric, set., 30 2005 6:01 PM - 2 respostas
Publicado em setembro, 30 2005 - 6:01 PM
Bonjour

Merci de bien vouloir m'aider

J'utilise ce code pour faire afficher les champs correspondant à mon critère.

Résultat est une entier
Résultat = TableCherche (Machine, "D1", Faux )
TANTQUE Résultat <> "-1"
info(NomMachine[Résultat])
Résultat =TableCherche (Machine, "D1", Faux , Résultat +1)
FIN

Le résultat m'affiche le même enregistrement, le nombre de fois que j'ai d'enregistrement dans ma table.

C'est à dire qu'il m'affiche 20 fois le même enregistrement.
Ma table contient 20 enregistrements.
La valeur de la variable semble ne pas fonctionner

Ou est mon erreur?
Merci
Eric
Publicado em outubro, 01 2005 - 7:04 AM
Salut,

Déjà je pense pense qu'il y a une erreur dans ton code et dans l'aide de Windev :

Résultat est un entier
TANTQUE Résultat <> "-1" // là je mettrai plutôt => TANTQUE Résultat <> -1 => sans guillement (un entier ne renvoie pas de valeur de type chaine.)

Ensuite, si ta table est une table fichier : Résultat + 1 est ignoré.
Si tu lit l'aide en entier :
--------------------------------------
<Ligne de départ> : Entier optionnel
Numéro de la ligne de départ de la recherche dans la colonne. Si ce paramètre n'est pas spécifié, la recherche est effectuée dans toute la colonne. Ce paramètre permet de rechercher toutes les occurrences d'une chaîne dans une colonne.
>>> Ce paramètre est ignoré dans le cas d'une table fichier. <<<
--------------------------------------

Donc en résumé, sur une table fichier je mettrai plutôt ce code :

====================================
résultat est un entier = 1
TANTQUE résultat <= TableOccurrence(MaTable)
SI Machine[résultat] = "D1 ALORS
Info(NomMachine[résultat])
FIN
résultat ++
FIN
====================================

A ++

Laurent
Publicado em outubro, 03 2005 - 7:48 AM
le problème c'est que si ta table contient plus d'enregistrements qu'elle ne peut en affiché, le logiciel va planté !!!

Par conséquent je verrais plus le code avec TableSelectPlus pour se positionner sur la ligne en cours de traitement !!!