Bonjour, Je n'ai pas trouvé de titre plus parlant, désolé. Pour une application, j'ai une table ordonnée avec un champ ordre. J'ai mis en place une petite procédure pour changer l'ordre à la demande entre deux enregistrements. Code (Text): pos, nTomp est entier pos=TableSelect(TABLE_LIEN_FACT) SI pos>1 ALORS nTomp=TABLE_LIEN_FACT.COL_Ordre[pos-1] TABLE_LIEN_FACT.COL_Ordre[pos-1]=TABLE_LIEN_FACT.COL_Ordre[pos] TABLE_LIEN_FACT.COL_Ordre[pos]=nTomp TableSelectPlus(TABLE_LIEN_FACT,pos-1) TableEnregistre(TABLE_LIEN_FACT) TableSelectPlus(TABLE_LIEN_FACT,pos) TableEnregistre(TABLE_LIEN_FACT) TableSelectPlus(TABLE_LIEN_FACT,pos-1) FIN Avec la WD18, ça fonctionne. Avec la WD24, à chaque changement sur la table, la procédure CWDTable prend le relais (c'est normale d'après la documentation) et rafraîchit la table. Du coup, ça ne fonctionne pas. J'ai pu solutionner en adoptant une méthode une peu à la dure en gérant moi-même les enregistrements. Code (Text): pos, Ordre1, nOrdre2, nId1, nId2 est entier sMareq est une chaîne sdMasource est une Source de Données pos=TableSelect(TABLE_LIEN_FACT) SI pos>1 ALORS Ordre1=TABLE_LIEN_FACT.COL_Ordre[pos-1] nOrdre2=TABLE_LIEN_FACT.COL_Ordre[pos] nId1 = TABLE_LIEN_FACT.COL_ID_LIEN_FACT[pos-1] nId2 = TABLE_LIEN_FACT.COL_ID_LIEN_FACT[pos] sMareq="UPDATE LIEN_FACT SET Ordre = "+Ordre1+" WHERE LIEN_FACT.IDLIEN_FACT = "+nId2 HExécuteRequêteSQL(sdMasource,hRequêteDéfaut,sMareq) sMareq="UPDATE LIEN_FACT SET Ordre = "+nOrdre2+" WHERE LIEN_FACT.IDLIEN_FACT = "+nId1 HExécuteRequêteSQL(sdMasource,hRequêteDéfaut,sMareq) TableAffiche(TABLE_LIEN_FACT,taCourantBandeau) TableSelectPlus(TABLE_LIEN_FACT,pos-1) FIN Pour info...
Bonjour, Ce que tu voulais faire c'est permuter 2 lignes d'une table ? faire descendre ou monter une ligne ? Genre ? : si c'est bien le cas (d’après que j'ai compris) voici le code des 2 boutons Up,Down: Code (Windev): SI Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(TABLE_T_LIDEVIS) = -1 ALORS RETOUR FIN SI Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(TABLE_T_LIDEVIS) = 1 ALORS RETOUR FIN Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(TABLE_T_LIDEVIS,Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(TABLE_T_LIDEVIS),Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(TABLE_T_LIDEVIS) - 1 ) Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(TABLE_T_LIDEVIS) Code (Windev): SI Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(TABLE_T_LIDEVIS) = -1 ALORS RETOUR FIN SI Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(TABLE_T_LIDEVIS) = Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(TABLE_T_LIDEVIS) ALORS RETOUR FIN Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(TABLE_T_LIDEVIS,Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(TABLE_T_LIDEVIS),Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(TABLE_T_LIDEVIS) + 1 ) NB. Voir aussi la fonction : Code (Windev): Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(TABLE_T_LIDEVIS, ligneSélectionnée, tdSuivant, tdEchange) Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(TABLE_T_LIDEVIS,ligneSélectionnée,tdPrécédent,tdEchange) Bon dev.
Bonjour, Je ne sais pas pourquoi, j'ai mentionné WD24. En fait c'est la WD23. Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! , j'ai déjà lu la doc, mis le doigt desssus et j'avais cru avoir trouvé ma solution avec TableEchangeLigne et TableDéplaceLigne mais ça ne fonctionne pas avec les tables fichier (accès direct).
Juste par curiosité, pourquoi utiliser l’accès direct au fichier!? Je ne vois pas trop la différence à part pour les tables à plus de 100000 enregistrements!
Bonjour, Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! merci de ta piste. Je vais fouiller de ce côté. Je crois que je vais m'orienter sur Champ Table fichier avec fichier chargé en mémoire.