Enregistrement de ch4mp calculer [Résolu]

viftro 17 Messages postés mercredi 7 septembre 2011Date d'inscription 5 janvier 2017 Dernière intervention - 20 janv. 2016 à 01:44 - Dernière réponse : viftro 17 Messages postés mercredi 7 septembre 2011Date d'inscription 5 janvier 2017 Dernière intervention
- 21 janv. 2016 à 20:34
Bonjour,


--j'ai besoin de votre aide svp
j'ai besoin de calculer des champs avant de les enregistrer sur ma base de donneés PrixTotal MontantTVA et TotalTTC le probleme et pas dans le calcul mais dans l'enregistrement ca me donne l'erreur de conversion de types de donneés

       GoSub AFFECTATION
    

    
      remplir_s
 
 Dim total As Long
                total = 0
For N = 0 To MSFlexGrid2.Rows - 1
   total = total + Val(MSFlexGrid2.TextMatrix(N, 5))
   
 
Next N
 
Text9.Text = total
Text10 = (Text9 * (20 / 100))
Text11 = Val(Text9) + Val(Text10)
' remplir_t
      'Command2_Click
      'Unload Me
   Exit Sub


AFFECTATION:
   RA("NumFacture") = Trim(Text2)
   RA("client") = Trim(Text3)
   RA("Date") = Trim(Text4)
   RA("imm") = Trim(Text5)
   RA("Reference") = Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 1))
   RA("Article") = Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 2))
   RA("Quantite") = Trim(Text1)
    RA("PrixUnit") = Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 3))
     RA("PrixTotal") = Val(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 3)) * Val(Text1)
 

'C'est la ou ca me donne l'erreur


RA("TotalHT") = Trim(Text9)
RA("MontantTVA") = Trim(Text10)
RA("TotalTTC") = Trim(Text11)
RA.Update
  'MsgBox "information bien enregistrer"

Return


 
nsu:
MsgBox err.Description
End Sub


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ICI

Merci d'y penser dans tes prochains messages.
Afficher la suite 

8 réponses

Répondre au sujet
Whismeril 10526 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 13 décembre 2017 Dernière intervention - 20 janv. 2016 à 06:58
0
Utile
Bonjour, la dernière question que tu as posée, il y a 9 mois, n'a pas eu de reponse car tu n'as pas précisé la version de Vb, ou mieux posté ta question dans le forum correspondant.
Ce matin tu te réveilles, informe l'autre fil qu'il s'agit de Vb6 et reposes une question, où il manque encore cette info essentielle....

De plus, utiliser la coloration syntaxique ici pour poster un code, facilite la lecture et augment encore les chances d'obtenir une reponse.
Commenter la réponse de Whismeril
BunoCS 13008 Messages postés lundi 11 juillet 2005Date d'inscriptionModérateurStatut 13 décembre 2017 Dernière intervention - 20 janv. 2016 à 09:12
0
Utile
Hello,

J'ai rajouté un peu de couleur, voir ici pour les détails.

Alors, VB6? VB.Net? Autre?
Commenter la réponse de BunoCS
0
Utile
Bonjour,

On peut dire que tu es un nostalgique. Les Gosub ... Return sont devenus obsolètes en même temps que le GWBASIC (depuis une trentaine d'années!)

A part ça, on ne voit pas comment est définie ta BDD.
Par exemple:
Text10 = (Text9 * (20 / 100))
Je suppose que Text9 et Text10 sont des champs texte du formulaire des saisie.
Il faudrait plutot écrire
Text10.text = Str(Val(Text9 ) * (20 / 100))

De même
RA("Quantite") = Trim(Text1)
On peut penser que le champ "Quantite" de la BDD est du type numérique. Or Trim est une fonction qui renvoie un texte. Donc on affecte une valeur texte à un champ numérique, ça ne marchera pas.

Je pense qu'il faut prendre l'habitude d'être plus rigoureux même si la syntaxe du VBA et assez permissive (ce qui en fait d'ailleurs sa faiblesse).

Cordialement,
Commenter la réponse de Mosca
ucfoutu 18021 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 12 décembre 2017 Dernière intervention - 20 janv. 2016 à 11:09
0
Utile
Bonjour,
Lire et s'imprégner de ce que j'ai dit dans cette très récente discussion :
http://codes-sources.commentcamarche.net/forum/affich-10059256-dimensionnement-variable-dans-un-userform
Commenter la réponse de ucfoutu
viftro 17 Messages postés mercredi 7 septembre 2011Date d'inscription 5 janvier 2017 Dernière intervention - 21 janv. 2016 à 20:04
0
Utile
ma base et initié de tel


Set RA = MaBd.OpenRecordset("Select * From Facturation") ' where cstr(Reference)='" & Trim(Text6) & "'")

RA.AddNew
RA.Edit
GoSub Affectation



remplir_s
' Command2_Click
Dim total As Long
total = 0
For N = 0 To MSFlexGrid2.Rows - 1
total = total + Val(MSFlexGrid2.TextMatrix(N, 5))


Next N

Text9.Text = CStr(total)
Text10 = CStr(Val(Text9 * (20 / 100)))
Text11 = CStr(Val(Text9)) + CStr(Val(Text10))
' remplir_t
'Command2_Click
'Unload Me
Exit Sub


Affectation:
RA("NumFacture") = Trim(Text2)
RA("client") = Trim(Text3)
RA("Date") = Trim(Text4)
RA("imm") = Trim(Text5)
RA("Reference") = Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 1))
RA("Article") = Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 2))
RA("Quantite") = Trim(Text1)
RA("PrixUnit") = Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 3))
RA("PrixTotal") = Val(MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 3)) * Val(Text1)
RA("TotalHT") = Trim(Text9)
RA("MontantTVA") = Trim(Text10)
RA("TotalTTC") = Trim(Text11)
RA.Update
'MsgBox "information bien enregistrer"

Return

Exit Sub





'nsu:
'MsgBox err.Description
End Sub
--
Commenter la réponse de viftro
Whismeril 10526 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 13 décembre 2017 Dernière intervention - 21 janv. 2016 à 20:20
0
Utile
2
Bonsoir,
  • Tu ne dis toujours pas de quel version de VB il s'agit, et si je te réponds en VB.Net tu ne comprendras rien...
  • Tu n'utilises toujours pas la coloration syntaxique, comme Buno a corrigé ton premier message en y incorporant un lien vers la procédure à suivre.
  • Tu ne tiens pas compte de la remarque de Mosca

Les Gosub ... Return sont devenus obsolètes en même temps que le GWBASIC (depuis une trentaine d'années!)



Pourquoi voudrais-tu qu'on se casse le c.. à t'aider alors que
  • tu ne fais pas l'effort de rendre ton message lisible
  • tu ne réponds pas aux questions que l'on te pose
  • tu n'as même le respect de suivre les conseils qui te sont donnés (parce que quand même une obsolescence de 30 ans, ça se corrige!)

Whismeril 10526 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 13 décembre 2017 Dernière intervention - 21 janv. 2016 à 20:21
ha oui et les .Text aussi.....
viftro 17 Messages postés mercredi 7 septembre 2011Date d'inscription 5 janvier 2017 Dernière intervention - 21 janv. 2016 à 20:34
je suis désolé pour toutes les erreurs mais j'ai vraiment besoin d'aide j'utilise du visual basic 6
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.