PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile (précédentes versions) → Recherche dans plusieurs libellés d'une zone répétée
Recherche dans plusieurs libellés d'une zone répétée
Débuté par Julien Edin, 07 avr. 2016 11:41 - 4 réponses
Posté le 07 avril 2016 - 11:41
Bonjour.

J'ai une zone répétée composée de trois libellés : catégorie, objet et quantité.
Je la remplis par programmation et j'aimerai, lorsque la catégorie et l'objet sont déjà existant, qu'il n'y ai pas d'ajout dans la zone répétée mais juste une modification de la quantité.
Je pensais utiliser la fonction HLitRecherche mais je n'arrive pas à faire une recherche sur les deux libellés avec la même fonction.
Actuellement j'utilise une boucle qui parcourt toutes les lignes de la zone répétée, contenant un "si" qui compare la valeur sélectionnée par l'utilisateur à celle de chaque libellé mais je me demande s'il n'existe pas une méthode plus optimisée.

Auriez-vous des idées à proposer ?
Je débute en wlangage, merci d'être précis.
Membre enregistré
84 messages
Popularité : +2 (2 votes)
Posté le 07 avril 2016 - 11:57
tu peux utiliser ZoneRepeteeCherche(), mais meme probleme, ça va cherché uniquement sur un seul attribut de la ZR.

--
SPEETBOX by STARCK - SPEETA
Posté le 07 avril 2016 - 14:14
Oui, j'ai marqué par erreur HLitRecherche() alors que je parlais de ZoneRepeteeCherche() pour la recherche dans la zone répétée mais je n'ai pas pu lancer de recherche sur les deux libellés à la fois en l'utilisant, je suis toujours à la recherche d'une solution.
Membre enregistré
84 messages
Popularité : +2 (2 votes)
Posté le 07 avril 2016 - 15:05
Moi je ferai un truc comme ça. (code pas vérifié), mais ça doit ressemblé à ce que tu fais deja
Je ne vois pas d'autre solution

bExisteDeja est un booléen = Faux
Indice est un entier = ZoneRépétéeCherche(ATT_catégorie, "catégorie recherché")
TANTQUE Indice <> -1
SI ZR_TaZoneRepetee[Indice].ATT_objet = "Objet recherché" ALORS
bExisteDeja = Vrai
SORTIR
FIN
Indice = ZoneRépétéeCherche(ATT_NOM, "DUP", Faux, Indice + 1)
FIN
SI bExisteDeja ALORS
// traitement pour modifier. Indice pointe sur la bonne ligne
SINON
// traitement pour ajouter une nouvelle entrée dans ta ZR
FIN


--
SPEETBOX by STARCK - SPEETA
Membre enregistré
637 messages
Popularité : +36 (36 votes)
Posté le 28 avril 2016 - 11:36
Bonjour,

ZoneRépétéeCherchePartout ne pourrait pas convenir ?

http://doc.pcsoft.fr/fr-FR/?1000021997&name=zonerepeteecherchepartout_fonction&product=WB

Cdlt - Eric.

--
Eric DELATTRE
http://www.yoosite.fr