Problème enregistrement de la table. j'utilise la fonction TableEnregistre (qui ne fonctionne pas sur le multi-fichiers selon l'aide) qui enregistre seulement la table mais pas les fichiers de données qui sont rattachées. Comment aussi les données qui y sont rattachées N.B : j'ai essayé de modifier la requête directement qui fonctionne mais le but c'est d'aller le moins de fois possible vers le serveur ( 1 fois au chargement et ensuite a la fermeture) pour gagner en performance. POUR TOUT REQ_CorrectionLigne // SI SensCo = 1 ALORS // SI REQ_CorrectionLigne.QuantiteCorrigee < 0 ALORS // REQ_CorrectionLigne.QuantiteCorrigee = REQ_CorrectionLigne.QuantiteCorrigee * -1 // REQ_CorrectionLigne.TotalLigneHT = REQ_CorrectionLigne.TotalLigneHT * -1 // REQ_CorrectionLigne.TotalLigneTVA = REQ_CorrectionLigne.TotalLigneTVA * -1 // REQ_CorrectionLigne.TotalLigneTTC = REQ_CorrectionLigne.TotalLigneTTC * -1 // REQ_CorrectionLigne.TotalLigneVente = REQ_CorrectionLigne.TotalLigneVente * -1 // REQ_CorrectionLigne.SensCorrection = SensCo // HModifie(REQ_CorrectionLigne) // FIN // FIN [windev]POUR i = 1 _À_ TableOccurrence(TABLE_Correction) SI SensCo = 1 ALORS // Type de Correction Plus SI CQtiteCorrigee < 0 ALORS CQtiteCorrigee = CQtiteCorrigee * -1 CTotalLigneHT = CTotalLigneHT * -1 CTotalLigneTVA = CTotalLigneTVA* -1 CTotalLigneTTC = CTotalLigneTTC * -1 CTotalLigneVente = CTotalLigneVente * -1 CSensCorrection = SensCo FIN TableEnregistre(TABLE_Correction) FIN SI SensCo = 2 ALORS Type de Correction moins SI CQtiteCorrigee > 0 ALORS CQtiteCorrigee = CQtiteCorrigee * -1 CTotalLigneHT = CTotalLigneHT * -1 CTotalLigneTVA = CTotalLigneTVA* -1 CTotalLigneTTC = CTotalLigneTTC[i] * -1 CTotalLigneVente[i] = CTotalLigneVente[i] * -1 CSensCorrection[i] = SensCo FIN TableEnregistre(TABLE_Correction) FIN[/windev][/i][/i][/i][/i]
Est ce que tu as essayé de relier tes champs en multi fichier( choisit bien ta clé de parcours et le champ à modifier) sur la description de la table , ce qui te permet de mettre à jour avec un" ecranversfichier()"?
Bonjour, Dans un premier temps, ton table enregistre devrait être exécuté une fois ta boucle POUR i = 1 _À_ TableOccurrence(TABLE_Correction) terminée. Cela s'appelle TableEnregistre et pas LigneEnregistre, c'est à dire que tu enregistre toutes les lignes. En supposant que tu ais 100 lignes, tu parcours toutes les lignes et en cas de correction, tu enregistres 100 lignes (algorithme de complexité n^2.) En mettant ton TableEnregistre à la fin, tu parcours 100 lignes puis tu enregistre 100 lignes (algorithme de complexité n.)
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! En mettant ton TableEnregistre à la fin, tu parcours 100 lignes puis tu enregistre 100 lignes (algorithme de complexité n.)Cliquez pour agrandir...