PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Instruction "POUR TOUTE LIGNE DE TABLE"
Instruction "POUR TOUTE LIGNE DE TABLE"
Débuté par bernard SOBRA, 21 juin 2015 06:44 - 9 réponses
Membre enregistré
357 messages
Posté le 21 juin 2015 - 06:44
Bonjour,
J'utilise cette instruction pour parcourir une table dont certaines lignes sont sélectionnées par l'utilisateur en vue d'envoyer un message de planning. Mais, en fait, les lignes ne sont pas parcourues dans l'ordre de la table (triée par heure), mais dans l'ordre des sélections faites par l'utilisateur. Si il sélectionne la ligne "08h00" avant celle "06h00", le planning final ne sera pas dans l'ordre.
Y'a t il une astuce pour exiger de cette boucle de parcourir la table dans l'ordre des lignes ?



P.S. : Si non, je vais lire chaque ligne et me demander si elle est ou pas sélectionnée, mais c'est un peu bourrin alors que tout le travail est inclus dans cette instruction merveilleuse.

--
Les siliques entre 337 et 476 : www.siliques.fr


Posté le 21 juin 2015 - 10:15
Bonjour

tu pourrais aussi déclarer un tableau de structure dans lequel tu remplis avec les infos nécessaires de ta table et ensuite tu le trie sur le membre correspondant l'heure et tu envoies au planning

Bon Dev
Marc fastré
www.marc-fastre.be
Membre enregistré
856 messages
Posté le 21 juin 2015 - 10:21
Bonjour,
Vous avez essayé :
POUR TOUTE LIGNE SELECTIONNEE [<Indice>, [<Compteur>]] DE <Champ>
http://doc.pcsoft.fr/fr-FR/?1510017&name=POUR_TOUS_Champs

J.Michel

--
Synchronize Systems International LTD
Développement d'outils de gestion

Environnements AS400 – Windows
Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev
http://www.cashpower.fr/

Bangkok / Pattaya
Posté le 21 juin 2015 - 21:04
Arbos avait écrit le 21/06/2015 :
Bonjour,
J'utilise cette instruction pour parcourir une table dont certaines lignes
sont sélectionnées par l'utilisateur en vue d'envoyer un message de planning.
Mais, en fait, les lignes ne sont pas parcourues dans l'ordre de la table
(triée par heure), mais dans l'ordre des sélections faites par l'utilisateur.
Si il sélectionne la ligne "08h00" avant celle "06h00", le planning final ne
sera pas dans l'ordre.
Y'a t il une astuce pour exiger de cette boucle de parcourir la table dans
l'ordre des lignes ?



P.S. : Si non, je vais lire chaque ligne et me demander si elle est ou pas
sélectionnée, mais c'est un peu bourrin alors que tout le travail est inclus
dans cette instruction merveilleuse.


Rien n'empêche de trier la table avant de la lire...
Membre enregistré
357 messages
Posté le 22 juin 2015 - 10:03
J'étais pourtant sur d'avoir été clair dans ma question, comme quoi...

@Jan-Michel :
C'est justement l'instruction que j'utilise, mais elle ne permet pas de parcourir la table dans l'ordre du tri, mais dans celui de l'indice de la ligne sélectionnée. Si j'ai sélectionné la ligne 1, puis la 8, puis la 3, je parcours avec cette instruction la table en lisant 1, puis 8, puis 3, alors que je pensais le faire en lisant 1, puis 3, puis 8.... Comme ma table est triée par heure, j'envoi donc le message de l'heure de la ligne 8 avant celle de la 3.

--
Les siliques entre 337 et 476 : www.siliques.fr


Membre enregistré
357 messages
Posté le 24 juin 2015 - 18:39
;( ;( ;( Bon ben tant pis, on va "bétonner" en parcourant la table....

--
Les siliques entre 337 et 476 : www.siliques.fr


Posté le 24 juin 2015 - 22:36
Bonsoir,

Trier la table avant de la lire n'est pas une bonne solution, notamment l'impact visuel au niveau de l'interface.

Bétonner en la lisant ? Vous allez faire combien de passes ?

Je vous suggère d'alimenter un petit tableau au gré des sélections ... et désélections(, voire des tris ?), avec le numéro de la ligne sélectionnée.
Il vous suffira ensuite de parcourir ce tableau.
Ne pas oublier de le réinitialiser quand nécessaire.

Bon travail

Hemgé
Membre enregistré
357 messages
Posté le 25 juin 2015 - 09:07
Merci de votre aide à tous.

Ou bien :
pour toutes les lignes de la table
si selectionnee alors
fin

C'e'st ce que j'ai choisi comme solution. Il manque donc à l'instruction : pour toute les lignes selectionee
la notion de parcours dans la table.

@++
Bernard

--
Les siliques entre 337 et 476 : www.siliques.fr


Posté le 25 juin 2015 - 10:34
Arbos a écrit :
Merci de votre aide à tous.

Ou bien :
pour toutes les lignes de la table
si selectionnee alors
fin

C'e'st ce que j'ai choisi comme solution. Il manque donc à l'instruction : pour toute les lignes selectionee
la notion de parcours dans la table.



Avec la solution que vous avez retenue, vous perdez l'ordre de sélection.
Si vous acceptez cela, alors revenez à votre solution initiale, POUR TOUTE LIGNE SELECTIONNEE.
Cela revient exactement au même, mais votre code sera plus clair et probablement plus efficient.

Hemgé
Membre enregistré
357 messages
Posté le 17 juillet 2015 - 09:22
Oui, Hemgé, vous avez raison, mais je me fiche de l'ordre de sélection en fait, le plus important est l'orde de la table (date/heure) pour envoyer le planning des courses au chauffeur dans le bon ordre. Ma solution fonctionne bien, comme on traite moins de 100 courses / jour, parcourir toute la table n'est pas bien grave.
Merci à tous, sujet clos.

--
Les siliques entre 337 et 476 : www.siliques.fr