PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Champ table doublon mais il y en a pas.
Champ table doublon mais il y en a pas.
Iniciado por Zack, 07,nov. 2018 22:45 - 6 respuestas
Miembro registrado
127 mensajes
Publicado el 07,noviembre 2018 - 22:45
Bonjour,

J'ai un champ table que je fais afficher mes commandes voici un bout de code.
Je me retrouve avec des doublons dans mon champ table, mais si je fais un test directement dans l'éditeur de requête il y en a pas.

Si j'ajoute point d'arrêt et j'y vais pas à pas il n'affiche aucun doublon. dans la Tace seul je vois le doublon.
on dirait que la boucle est plus rapide que la requête même.

Je comprend plus rien.... à l'aide!!!!.

TableSupprimeTout(TABLE_Tb_commandes)
SI HExécuteRequête(REQ_TBCmd,hRequêteDéfaut) = Faux ALORS
Erreur("Erreur d'initialisation de la requête" + RC + HErreurInfo())
RETOUR
FIN
HLitPremier(REQ_TBCmd)

TANTQUE PAS HEnDehors()
SI REQ_TBCmd.state = 3 ALORS
SI REQ_TBCmd.no_bill = 55173 ALORS
Trace(REQ_TBCmd.no_bill)
FIN

TableSelectMoins(TABLE_Tb_commandes)
Multitâche(-1)
TableAjouteLigne(TABLE_Tb_commandes,REQ_TBCmd.AcombaProduit_client,Faux,Faux,REQ_TBCmd.id,REQ_TBCmd.AcombaNumber_client,REQ_TBCmd.nom_ent_client,REQ_TBCmd.idClient,REQ_TBCmd.idUser,REQ_TBCmd.no_bill,REQ_TBCmd.ref,REQ_TBCmd.idShip,REQ_TBCmd.idDest,REQ_TBCmd.val_dec,REQ_TBCmd.prix,REQ_TBCmd.fuel_prix,REQ_TBCmd.total,REQ_TBCmd.state,REQ_TBCmd.createDate,REQ_TBCmd.tps,REQ_TBCmd.tvq,REQ_TBCmd.tvh)
Multitâche(-1)


FIN
HLitSuivant(REQ_TBCmd)
FIN
Mensaje modificado, 07,noviembre 2018 - 22:48
Miembro registrado
1.640 mensajes
Publicado el 08,noviembre 2018 - 11:22
Bonjour,
Pourquoi TableSelectMoins(TABLE_Tb_commandes) ?
Essaye en le retirant.
Publicado el 08,noviembre 2018 - 11:56
On n'utilise plus le tant que !!!
utilise le pour tout
:

Pour TOUT REQ_TBCmd
SI REQ_TBCmd.state = 3 ALORS
SI REQ_TBCmd.no_bill = 55173 ALORS
Trace(REQ_TBCmd.no_bill)
FIN
TableAjouteLigne (TABLE_Tb_commandes,REQ_TBCmd.AcombaProduit_client,Faux,Faux,REQ_TBCmd.id,REQ_TBCmd.AcombaNumber_client, REQ_TBCmd.nom_ent_client,REQ_TBCmd.idClient,REQ_TBCmd.idUser,REQ_TBCmd.no_bill,REQ_TBCmd.ref,REQ_TBCmd.idS hip,REQ_TBCmd.idDest,REQ_TBCmd.val_dec,REQ_TBCmd.prix,REQ_TBCmd.fuel_prix,REQ_TBCmd.total,REQ_TBCmd.state,RE Q_TBCmd.createDate,REQ_TBCmd.tps,REQ_TBCmd.tvq,REQ_TBCmd.tvh)
FIN


tout ce qu'il y a en dessous du peux le virer :

HLitPremier(REQ_TBCmd)

TANTQUE PAS HEnDehors()
SI REQ_TBCmd.state = 3 ALORS
SI REQ_TBCmd.no_bill = 55173 ALORS
Trace(REQ_TBCmd.no_bill)
FIN

TableSelectMoins(TABLE_Tb_commandes)
Multitâche(-1)
TableAjouteLigne(TABLE_Tb_commandes,REQ_TBCmd.AcombaProduit_client,Faux,Faux,REQ_TBCmd.id,REQ_TBCmd.AcombaNumber_client,REQ_TBCmd.nom_ent_client,REQ_TBCmd.idClient,REQ_TBCmd.idUser,REQ_TBCmd.no_bill,REQ_TBCmd.ref,REQ_TBCmd.idShip,REQ_TBCmd.idDest,REQ_TBCmd.val_dec,REQ_TBCmd.prix,REQ_TBCmd.fuel_prix,REQ_TBCmd.total,REQ_TBCmd.state,REQ_TBCmd.createDate,REQ_TBCmd.tps,REQ_TBCmd.tvq,REQ_TBCmd.tvh)
Multitâche(-1)


FIN
HLitSuivant(REQ_TBCmd)
FIN
Miembro registrado
1.640 mensajes
Publicado el 08,noviembre 2018 - 12:07
Ha bon ?
Je l'utilise sur TOUTES mes requêtes et je ne rencontre aucun souci.
Et je n'ai pas vu dans la doc PCSOFT que TANTQUE était déprécié ?
https://doc.pcsoft.fr/fr-FR/?1510010

Dans l'absolu : TANTQUE pas hendehors() et Pour tout revient au même dans ce cadre bien précis.
TANTQUE pas hendehors() a d'autres avantages mais ce n'est pas le but de ce sujet.
Miembro registrado
310 mensajes
Publicado el 08,noviembre 2018 - 15:34
Bonjour,
Est-ce que la table ne serait pas (par hasard) déjà liée à la requête (onglet contenu de la description de la table) ... ?
Auquel cas, il faudrait supprimer cette liaison pour faire le remplissage par programmation comme vous le faites.

Bon dev.
Miembro registrado
1.640 mensajes
Publicado el 08,noviembre 2018 - 15:47
@Samir
J'y avais pensé, mais je pense que le compilateur gueule a la vue de TableSupprimeTout(TABLE_Tb_commandes) sur une table fichier.
Miembro registrado
127 mensajes
Publicado el 08,noviembre 2018 - 16:03
@Samir BOUCHETIBAT non elle est en aucun cas liée une requête ou fichiers de données.
Ce qui est étrange c'est que cela arrive sur certaines données seulement, mais pas toujours les mêmes.

@ Babas34 J'ai toujours utilisé POUR TOUT .... mais j'avais ce problème de doublons alors j'ai changé POUR TOUT pour TANQUE.
Mais le problème persiste.

Je crois que j'ai vraiment un gros bogue avec le champ table, mais je n'ai plus accès avec l’assistance technique gratuite alors tant pis pour PcSoft.

Merci à tous.
Mensaje modificado, 08,noviembre 2018 - 16:03