BOnjour, j'ai un petit problème, qu'aujourd'hui j'ai pu contourner, mais auquel j'aimerais avoir une réponse car ça m'agace de ne pas savoir.
Je dispose d'une table contenant une 10aine de colonnes. Cette table est une table fichier liée à un fichier de l'analyse. A l'ouverture de ma fenêtre je créée une vue sur ce fichier, et ma table est donc liée à cette vue. La clé de parcours est l'id du fichier, à savoir IdLigneDevis.
Je travaille donc sur ma table, j'ajoute ou supprime des lignes, je modifie, ok. En revanche lorsque je veux valider, j'utilise ceci.
Car je ne connais l'id du devis qu'à la validation. (Ce traitement est effectué en création et en modification pour mettre à jour le fichier).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 pour toute ligne de TABLE TABLE.COLONNEIDDEVIS = DEVIS.IDDEVIS TableEnregistre() FIN [...] HVueVersFichier(rsVueLignes)
Or j'ai le souci suivant : lorsque mes lignes sont enregistrées dans le fichier, elles sont enregistrées dans un ordre a priori aléatoire. Le parcours "POUR TOUTE LIGNE" parcourt bien les lignes de la table de la première à la dernière, mais dans mon fichier il se peut que les lignes soient dans un ordre aléatoire.
Par exemple si je mets comme lignes dans la table
Ref 1
Ref 2
Ref 3
je peux avoir dans le fichier après enregistrement (id - Ref)
1000 - Ref 1
1001 - Ref 3
1002 - Ref 2.
Cette "modification d'ordre" des lignes n'a lieu qu'en création, si en modificaiton je déplace mes lignes dans la table, lors de l'enregistrement l'ordre est correct. Pourtant, comme dit précédemment, le même traitement "POUR TOUTE LIGNE ...." est effectué. L'id est un identifiant automatique donc il se créée tout seul. POURQUOI DANS LE DESORDRE?
CEPENDANT
Avant tout fonctionnait sans souci, aucun problème de randomisation de l'ordre, ceci ne se produit que depuis que dans ma table j'ai rajouté une colonne "Remise" en l'occurrence, ce qui, à mon sens n'a aucun impact sur le TableEnregistre ni sur le HCreeVue() a l'ouverture ni sur le HVueVersFichier a la validation.
Quelqu'un saurait me dire ce qui peut provoquer cette erreur?
Actuellement, pour contourner ce problème, j'ai créé ce code :
Ce qui fonctionne bien, mais ça m'ennuie assez que le TableEnregistre ne fonctionne bien alors qu'avant il fonctionnait parfaitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 si cstModeCreation alors pour i = 1 _A_ tableoccurrence(Table) lignedevis.ref = table.col_ref[i] lignedevis.designation = table.col_designation[i] [...] HAjoute(LigneDevis) FIN FIN
Si quelqu'un peut m'éclairer... merci.
Partager