PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → TableCherche
TableCherche
Débuté par Éric, 30 sep. 2005 18:01 - 2 réponses
Posté le 30 septembre 2005 - 18:01
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
Posté le 01 octobre 2005 - 07:04
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
Posté le 03 octobre 2005 - 07:48
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 !!!