End
Try
'-------------- commentaire ---
Ce code est placé sur l'évènement Rowvalited
àprès la ma première validation de la ligne le cumul se fait correctement mais
à la deuxième validation j'ai le message suivant : stackoverflowexception s'est produite dans system.data.dll.
J'ai constater au debogage que lorsque TblFactureSubBindingSource.Position = Fois ,l'événement est activé. Donc le cumul boucle indéfiniment. ce qui provoque l'overflow.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 29 oct. 2008 à 20:57
Ton problème viens effectivement du fait que cet évènement est déclenché à chaque changement de ligne dans la datagrid. Or justement dans ta boucle tu redéfini en permanence la nouvelle ligne d'où déclenchement de l'évènement en cascade générant un débordement de la pile système.
Tu n'as pas besoin de redéfinir en permanance la ligne active, il te suffit juste de passer en revue la collection de ligne du bindingsource :
For fois = 0 To TblFactureSubBindingSource.Count - 1
'---------- affecte la position
dans la boucle
<strike>TblFactureSubBindingSource.Position = fois</strike>
'--------- se positionne à
l'enregistrement courante
Me.TextBox1.Text =
fois
RwgB = TblFactureSubBindingSource. Item(fois)
TotMontHT + = RwgB("MontantHT")
TotMontNet += RwgB("Montant")
TotPartSte += RwgB("MontantPartSociete")
TotPartPatient += RwgB("MontantPartPatient")
Next fois
<strike> ' TblFactureSubBindingSource.Position =
PositionActuel</strike>
Catch ex As Exception
Exit Sub
End Try
AchiSika
Messages postés6Date d'inscriptionmercredi 7 novembre 2007StatutMembreDernière intervention31 octobre 2008 30 oct. 2008 à 10:43
Merci Sevyc64 (alias Casy)
ça marche à merveille
Je resterai beaucoup attaché à cette philosophie: LE PARTAGE EST NOTRE FORCE
Merci et à bientôt
Achi sika
Vous n’avez pas trouvé la réponse que vous recherchez ?
AchiSika
Messages postés6Date d'inscriptionmercredi 7 novembre 2007StatutMembreDernière intervention31 octobre 2008 30 oct. 2008 à 17:47
Bonjour,
J'ai un problème:
Quand j'enregistre mes saisies de l'entête et du détail d'un datagridview de ma facture, le champ père de l'entête n'est pas maj dans le champ fils du détail. de ma base sql server ceci se passe à l'ajout. Mais quand on vient à la modification ,la maj se fait correctement.
Aidez moi
Achi Sika
Merci
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 30 oct. 2008 à 21:43
difficile à dire comme ça, le champ fils est-il bien renseigné dans ta datagridview ?
sinon, si tu as créé une relation entre les 2 tables dans SQLServer, ou une clé étrangère, essaye de faire l'enregistrement en 2 étapes, l'entete d'abord, ensuite le détail
AchiSika
Messages postés6Date d'inscriptionmercredi 7 novembre 2007StatutMembreDernière intervention31 octobre 2008 31 oct. 2008 à 14:47
Merci.
En fait j'ai vu le problème.
En effet j'ai importé des données d'access dans mes tables entete et détail des factures.Mais dans ma datasource
j'ai oublier de commencer incrémentation des numeroauto par le dernier numéro des factures importées.D'où le numéro Incrémentation est resté à 0 donc le numéro de l'entête s'incrémente mais le numero du détail prend la valeur 0. D'où la relation ne peut pas se faire.
En conclusion:
ça marche après avoir modifier les incréméntations dans la datasource.
Mais je pense que vous pouvez avoir une autre solution pour résoudre ce genre de problèmes.