Modification sur table mémoire
Bonjour,
J’ai un petit problème à vous soumettre, j’ai créé une table mémoire, celle-ci est liée à une base de données que j’ai appelé « Sais », qui est composée d’un N° Journal(combo), d’un N° de pièce, d’une date, d’un libellé, d’un n° Compte, d’un débit et d’un credit.
Le fichier est indexé sur une clé composé ( N°journal+N° pièce)
Lorsque je crée une nouvelle ligne dans ma table mémoire et que je valide, la ligne est bien enregistrée. Par contre si je rentre en saisie dans les lignes, je peux modifier leur contenu, mais dès que je valide et je quitte le programme-et retourne sous wdmap visionneur de données , je constate qu’il n’y a eu aucune modification. Vous trouverez ci-dessous le code de modification que j’ai utilisé
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| POUR TOUTE LIGNE DE TABLE_SAIS
HLitRecherche(SAIS,JALPIECE1,[COMBO_ANNEXJX.COL_CODJAL,SAI_PIECE]) // Jalpièce1 est lindex composé , combo_annexjx est le n° journal, sais_piece est le n° pièce
SI HTrouve()
SAIS.MOISAN=SAI_MOISAN
SAIS.LIBOP=SAI_LIBOP
SAIS.COMPTE=TABLE_SAIS.COL_COMPTE
SAIS.DB=TABLE_SAIS.COL_DB
SAIS.CR=TABLE_SAIS.COL_CR
HModifie(SAIS)
FIN
FIN |
Il y’a un truc que je n’ai pas compris ???
Merci de votre aide
MODIFICATION SUR TABLE MEMOIRE
IL s'agit d'une table remplie par programmation.
j'ai testé suivant le code que tu m'as envoyé. Aucune erreur renvoyée
j'ai constaté une chose, c'est que lorsque je voulais modifier la valeur d'un deuxième ou troisième élément(2eme ligne,3eme ligne) déjà saisi , il me modifie le premier élément, c'est à dire la première ligne. Donc le problème je crois vient des lignes, étant donné que le fichier est indexé uniquement sur le
N° Journal+N° Pièce. y'a t'il un moyen d'ajouter le N° de Ligne dans hlitrecherchepremier(), sans passer par une autre création d'index.
merci de votre réponse
MODIFICATION SUR TABLE MEMOIRE[problème résolu]
j'ai opté pour la deuxième solution comme tu l'as préconisé, j'ai crée une clé
composée unique constitué du <<N° Journal+N° Pièce+N° ligne>>, j'ai testé
et ça marche à merveille.
merçi beaucoup pour ton aide