table de création en boucle pour<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />aucune idée pourquoi suivre ne fonctionne pas.
Bien sûr, je fais quelque chose de mal, mais quelqu'un pourrait-il m'aider à comprendre?
Si j'essaie hors de la boucle car cela fonctionne réellement .... 
pour (i = 1, i = 2, i ++,
td << select where (: Design == type_list &: Car_type == "BMW");
td << Sous-ensemble (
Table de sortie ("list-" || char (type_list )),
Lignes sélectionnées (1),
Colonnes sélectionnées uniquement (0)
)
td << clear select ();
)
Re: table de création en boucle pourPour la partie "Je ne comprends pas vraiment pourquoi":
Le deuxième argument à la pour instruction de boucle est une expression qui est évaluée avant chaque itération de boucle. Tant que cette expression revient vrai (toute valeur autre que zéro), l'itération de la boucle se poursuivra; dès que cette expression revient faux , la boucle s'arrête.
L'expression " i = 2 ", que vous aviez comme second argument dans votre code original, est un affectation instruction, assignant la valeur 2 à la variable je . Cette déclaration d’affectation renverra toujours 2, qui est traité comme vrai , ce qui signifie que votre boucle est infinie. Si vous voulez que votre boucle continue à itérer tant que la variable je Si vous aviez la valeur 2, vous utiliseriez:
i == 2
plutôt que " i = 2 ". " i == 2 "retourne vrai si je est égal à 2 et faux sinon. Si vous aviez utilisé " i == 2 " au lieu de " i = 2 ", cependant, votre boucle n'aurait pas fonctionné du tout, car vous venez d'initialiser je à la valeur 1 dans le premier argument (" i = 1 "), donc l'expression" i == 2 "retournera faux.
En utilisant " i <= 2 "comme le deuxième argument le dit" continuer à itérer cette boucle tant que la variable i est inférieure ou égale à 2 ", ce qui entraîne l'itération de la boucle 2 fois, une fois avec je mis à 1 et une fois avec je mis à 2.
J'espère que cela pourra aider,
Eric
Re: table de création en boucle pourfonctionne parfaitement après quelques tests ... Merci beaucoup
Re: table de création en boucle pourbelle solution.Essayer maintenant. Cela pourrait simplifier de nombreux scripts qui devenaient super longs en raison de la création de la table.
oui pour les nitems ... définitivement mais c'était juste comme un essai
Re: table de création en boucle pourOk je ne comprends pas vraiment pourquoi mais ça marche. Je vous remercie! Très utile
Re: table de création en boucle pourLa réponse de MS est peut-être celle que vous cherchiez réellement, mais j'avais une autre façon de gérer les tables en boucle: les ajouter à une liste.
Exemple:
Designlist = {};
pour (i = 1, i <= 2, i ++,
td << select where (: Design == type_list &: Car_type == "BMW");
Designlist = td << Sous-ensemble (
Table de sortie ("list-" || char (type_list )),
Lignes sélectionnées (1),
Colonnes sélectionnées uniquement (0)
)
)
Cela vous permet d’effectuer d’autres manipulations sur les tables de la liste sans avoir à les référencer par nom, elles sont maintenant stockées dans une variable pratique.
Vous voudrez peut-être aussi essayer d’utiliser votre "liste de types" comme max en remplaçant le "2" par "nitems (liste de types)".
Edit: ajout du reste du code "Select where" ... Je ne sais pas pourquoi cela n'a pas été copié en premier lieu.
Re: table de création en boucle pourDeuxième argument: essayer avec i <= 2 au lieu de i = 2 .