Modification d'enregistrement sur table
Stagiaire WDF
Inscrit:
07/05/2009 23:03
Post(s): 14
Bonjour,

J’ai un petit problème à vous soumettre, j’ai créé une table remplie par programmation, 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'un N° de ligne, d'une date, d’un libellé, d’un n° Compte, d’un débit et d’un crédit.
Le fichier est indexé sur une clé unique composé ( N°journal+N° pièce+N°ligne)

Lorsque je crée une pièce dans ma table et que je valide, les lignes sont bien enregistrées. Par contre si je rentre en saisie pour modifier la valeur d’un deuxième ou troisième élément (2eme ligne,3eme ligne ect..) de la pièce déjà saisie, il me modifie uniquement le premier élément, c'est-à-dire la première ligne. Donc j’ai tout essayé, mais j’arrive pas à solutionner ce problème. Vous trouverez ci-dessous le code de modification que j’ai utilisé
Code :
POUR TOUTE LIGNE DE TABLE_SAIS

 HLitRecherchepremier(SAIS,JALPIECE1,[COMBO_ANNEXJX.,SAI_PIECE ,COL_NOLIG)//clé unique

 SAIS.MOISAN=SAI_MOISAN
 SAIS.LIBOP=SAI_LIBOP
 SAIS.PIECE=SAI_PIECE
 SAIS.COMPTE=TABLE_SAIS.COL_COMPTE
 SAIS.DB=TABLE_SAIS.COL_DB
 SAIS.CR=TABLE_SAIS.COL_CR
 SI HTROUVE()
  HMODIFIE(SAIS)
 SINON
  ERREUR("Ligne introuvable" + RC + HErreurinfo())
 FIN
FIN

Merci de votre aide

Contribution le : 18/10/2009 13:36

Edité par drcharly93 sur 19/10/2009 12:49:49
Créer un fichier PDF de la contribution Imprimer


Re: Modification d'enregistrement sur table
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour

votre code comporte beaucoup d'erreur surement problème de copie


sFichier est une chaine = "SAI"
sCleUnique est une chaine = "JALPIECE1"
sValeur est une chaine
Ind est un entier

POUR TOUTE LIGNE ind DE TABLE_SAIS
 TableSelectPlus(TABLE_SAI, ind )
 sValeur = HConstruitValClé( sFichier, sCleUnique, [COMBO_ANNEXJX..ValeurAffichee, SAI_PIECE, COL_NOLIG] )
 SI HLitRecherche(sFichier,sCleUnique, sValeur )
  SAIS.MOISAN=SAI_MOISAN
  SAIS.LIBOP=SAI_LIBOP
  SAIS.PIECE=SAI_PIECE
  SAIS.COMPTE=TABLE_SAIS.COL_COMPTE
  SAIS.DB=TABLE_SAIS.COL_DB
  SAIS.CR=TABLE_SAIS.COL_CR 
  HMODIFIE(SAIS)
 SINON
  ERREUR("Ligne introuvable" + RC + HErreurinfo())
 FIN
FIN


Cordialement,

Contribution le : 19/10/2009 13:08
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Modification d'enregistrement sur table
Stagiaire WDF
Inscrit:
07/05/2009 23:03
Post(s): 14
Bonsoir,

j'ai trouvé d'ou vient l'erreur, c'est au niveau de l'incrémentation des lignes
Dans l'entrée en saisie d'une ligne de table, j'ai fait le commande suivante:
SI COL_NOLIG<>TABLE_SAIS
 COL_NOLIG = TableOccurrence(TABLE_SAIS)+1 //col_nolig est le  n°de ligne
FIN

Cette commande me permettra lors d'une nouvelle saisie de pièce, la ligne s'incrémente de 1 a ... par N°PIECE.

J'ai enlevé cette commande pour faire un test de modification d'une écriture déjà saisie, le résultat est positif
la modification s'est faite normalement suivant la procédure déjà citée plus haut (donc le problème ne vient pas de l'index mais de la commande citée ci-dessus). Aussi j'ai réglé le problème de modification et un autre a surgi concernantla saisie de nouvelles écritures, enlever cette commande, les lignes ne s'incrémentent plus.
La question est la suivante : est ce qu'il ya une une procédure pour y remédier à ça ?

j'ai essayé les commandes suivantes mais ça n'a pas marché :

SI COL_NOLIG<>TABLE_SAIS Alors
 COL_NOLIG = TableOccurrence(TABLE_SAIS)+1 // col_nolig est le n°de ligne
sinon
 col_nolig=tableOccurence(table_sais)
fin

Une autre
SI COL_NOLIG<>TABLE_SAIS Alors
 COL_NOLIG = TableOccurrence(TABLE_SAIS)+1 // col_nolig est le n°de ligne
sinon
 col_nolig=1
fin

Amicalement votre

Contribution le : 21/10/2009 23:02

Edité par drcharly93 sur 29/10/2009 9:46:41
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2