Forum des développeurs  

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é.
Précédent   Forum des développeurs > Environnements de développement > 4D

4D Forum d'entraide sur 4D. Avant de poster -> FAQ 4D

Réponse
 
Outils de la discussion
Vieux 05/11/2008, 09h52   #1 (permalink)
Invité régulier
 
Date d'inscription: juillet 2006
Messages: 15
Par défaut Nombre élements dans ensemble

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
IsabelleC est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/11/2008, 16h10   #2 (permalink)
Nouveau membre du Club
 
Date d'inscription: février 2006
Localisation: Vosges
Messages: 54
Par défaut

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 ?
Antoine Galmiche est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/11/2008, 10h34   #3 (permalink)
Invité régulier
 
Date d'inscription: juillet 2006
Messages: 15
Par défaut

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...
IsabelleC est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/11/2008, 12h12   #4 (permalink)
Nouveau membre du Club
 
Date d'inscription: février 2006
Localisation: Vosges
Messages: 54
Par défaut

Ce que tu ne peux pas faire avec les ensembles, tu dois pouvoir le faire avec des tableaux...
Antoine Galmiche est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/11/2008, 16h50   #5 (permalink)
Membre à l'essai
 
Date d'inscription: juin 2006
Messages: 42
Par défaut

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])))
Fabrice01 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/11/2008, 18h04   #6 (permalink)
Nouveau membre du Club
 
Date d'inscription: février 2006
Localisation: Vosges
Messages: 54
Par défaut

Citation:
Envoyé par Fabrice01 Voir le message
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])))
Mais tu peux faire tout aussi bien avec des tableaux et, par exemple, la commande SELECTION VERS TABLEAU([Table];$TableauEntierLong)
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 !
Antoine Galmiche est déconnecté   Envoyer un message privé Réponse avec citation
NEWS 4DDocumentationsF.A.Q 4DTrucs & astucesNotes techniques4D & SGBDR4D & XML4D & WebLivres 4D

Réponse

Précédent   Forum des développeurs > Environnements de développement > 4D



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide