![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| 4D Forum d'entraide sur 4D. Avant de poster -> FAQ 4D |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité régulier
![]() Date d'inscription: juillet 2006
Messages: 15
|
Bonjour, suite à la conversion de ma base 2003 en V11, je rencontre un problème avec les ensembles.
En effet j'utilise toujours le même processus de création et d'utilisation qui aujourd'hui ne fonctionne plus. Je m'explique avec mon code exemple : NOMMER ENSEMBLE([EstimRef2];"$EnsRef2001") --------------------------------------------------------- 7 enregistrements sélectionnés Tant que (Enregistrements dans ensemble("$EnsRef2001")>0) UTILISER ENSEMBLE("$EnsRef2001") ---------------------------------------------------- 7 enregistrements DEBUT SELECTION([EstimRef2]) ENLEVER ELEMENT([EstimRef2];"$EnsRef2001") ----------------------------------------------------- 6 enregistrements +++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++ Fin tant que EFFACER ENSEMBLE("$EnsRef2001") Lorsque ma boucle s'exécute pour la 2ème fois je repasse à 7 enregistrements comme si le enlever élement n'avait pas eu lieu. J'ai essayé avec des ensembles process ou interprocess j'ai toujours le même soucis de boucle infinie sur mon ensemble. Quelqu'un a t'il une solution ? Merci |
|
|
|
|
|
#2 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: février 2006
Localisation: Vosges
Messages: 54
|
Je viens de faire le test et ça fonctionne sans souci.
Cela dit, je ne vois pas bien la finalité de ton code, mais je suppose que tu as aminci pour la démonstration. Parce que construire un ensemble pour le vide après, c'est quand même un peu du temps perdu, hein ? Donc c'est peut-être un problème d'enregistrements abimés. Tu as fait une vérification des enregistrements ? |
|
|
|
|
|
#3 (permalink) |
|
Invité régulier
![]() Date d'inscription: juillet 2006
Messages: 15
|
Bonjour,
j'ai effectivement très simplifié mon code pour ne mettre que le principal. Chez 4d on m'a clairement dit que les ensembles dans les transactions ne fonctionnaient pas dans la version 11.2, donc j'espère que la nouvelle version ne va pas tarder... |
|
|
|
|
|
#5 (permalink) |
|
Membre à l'essai
![]() Date d'inscription: juin 2006
Messages: 42
|
Je ne vois pas possible de modifier 500 boucles minimum contenant des ensembles pour un bug de 4D.
L'intérêt des ensembles étant de pouvoir retravailler sur la même table de l'ensemble sans perdre la sélection courante contrairement à un tant que (non (fin de selection([matable]))) |
|
|
|
|
|
#6 (permalink) | |
|
Nouveau membre du Club
![]() Date d'inscription: février 2006
Localisation: Vosges
Messages: 54
|
Citation:
puis une boucle avec ALLER A ENREGISTREMENT([Table];$compteur) Ca ne prend pas plus de place ni de temps que le travail sur l'ensemble, ça n'est limité que par la RAM, ça ne touche pas plus à la sélection courante... C'est optimisé pour le serveur, bref la joie ! |
|
|
|
|
|
![]() |
![]() |
||
Nombre élements dans ensemble
|
||
| Outils de la discussion | |
|
|