Affichage de sommes par boucle For Next
Lenouveauapprenti
Messages postés
306
Date d'inscription
Statut
Membre
Dernière intervention
-
Lenouveauapprenti -
Lenouveauapprenti -
Bonjour tout le monde
En continuation de ma première question ( le message antérieur), je vous expose mon souci.
je veux faire afficher sur un Label, appelé "LCumulQtes" la somme des quantités achetées du produit
selectionné à partir Combox (CbCodePdt).
Les données sont saisies dans un tableau nommé "TableAchats"
Mon projet d'application est conçu dans un environnement de VB6, avec ADO et SQL.
Je mets à votre disposition les codes ecris, mais n'ont pas donné le résultat escompté.
Merci pour votre aide.
En continuation de ma première question ( le message antérieur), je vous expose mon souci.
je veux faire afficher sur un Label, appelé "LCumulQtes" la somme des quantités achetées du produit
selectionné à partir Combox (CbCodePdt).
Les données sont saisies dans un tableau nommé "TableAchats"
Mon projet d'application est conçu dans un environnement de VB6, avec ADO et SQL.
Je mets à votre disposition les codes ecris, mais n'ont pas donné le résultat escompté.
Merci pour votre aide.
Private Sub CbCodePdt_Click()
SQLs = "select * from TablePdts where Code='" & CStr(CbCodePdt) & "'"
If RS.State = adStateOpen Then RS.Close
RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic
If CbCodePdt = RS![Code] Then
LNomPdt = RS![Produit]
LUteA = RS![Unite]
End If
RS.Close
'____________________
Dim VNbre As Integer
SQLs = "select * from TableAchats"
If RS.State = adStateOpen Then RS.Close
RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic
VNbre = RS.RecordCount
RS.Close
Dim VQtes, VQ As Double
For VNbre = 1 To VNbre Step 1
SQLs = "select * from TableAchats where (N°=" & CInt(VNbre) & ") "
If RS.State = adStateOpen Then RS.Close
RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic
'If RS![Pdt] = LNomP Then
VQtes = RS![Qte]
'Else
'GoTo Ok:
'Exit Sub
'End If
VQ = VQ + VQtes
'Ok:
Next VNbre
'____________________
LCumulQtes = CDbl(VQ)
LCumulQtes = Format(LCumulQtes, "#,##0.00")
End Sub
A voir également:
- Affichage de sommes par boucle For Next
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
- Idm for mac - Télécharger - Téléchargement & Transfert
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, je suis étonné par
Tu veux probablement faire plutôt:
Dim VQtes, VQ As Double For VNbre = 1 To VNbre Step 1 SQLs = "select * from TableAchats where (N°=" & CInt(VNbre) & ") " ' ... Next VNbre
Tu veux probablement faire plutôt:
Dim VQtes as double, VQ As Double Dim Nboucle as integer For Nboucle = 1 To VNbre Step 1 SQLs = "select * from TableAchats where N°= " & Cstr(Nboucle) ' ... Next Nboucle
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
il me semble aussi que tu pourrais:
- soit calculer la somme directement par une requête SQL
- soit faire une boucle sur le recordset résultat de la première requête SQL, en utilisant movenext
- soit calculer la somme directement par une requête SQL
- soit faire une boucle sur le recordset résultat de la première requête SQL, en utilisant movenext
Rebonjour yg_be
je vous remercie pour vos suggestions, mais si tu pourrai plus clair et plus détaillant .
1 Comment pourrai je calculer la somme directement par une requête SQL ?
2 Comment pourrai je le faire par le biais de boucle sur le recordset résultat de la première requête SQL et l'utilisation de movenext ?
je vous remercie pour vos suggestions, mais si tu pourrai plus clair et plus détaillant .
1 Comment pourrai je calculer la somme directement par une requête SQL ?
2 Comment pourrai je le faire par le biais de boucle sur le recordset résultat de la première requête SQL et l'utilisation de movenext ?
Re bonjour
Il se passe un truc que je voulais partager avec vous. En utilsant la syntaxe ci dessous, le programme me renvoie la somme totale des chiffres saisis sur la table, sans prendre compte du nom produit.
C'est à dire dans l'absence de cette condition qui lui demande de calculer seulement la somme des quantités du produit choisi. Alors que mon but est d'avoir la somme totale pour le produit selectionné.
Il se passe un truc que je voulais partager avec vous. En utilsant la syntaxe ci dessous, le programme me renvoie la somme totale des chiffres saisis sur la table, sans prendre compte du nom produit.
C'est à dire dans l'absence de cette condition qui lui demande de calculer seulement la somme des quantités du produit choisi. Alors que mon but est d'avoir la somme totale pour le produit selectionné.
Private Sub CbCodePdt_Click()</code>
SQLs = "select * from TablePdts where Code='" & CStr(CbCodePdt) & "'"
If RS.State = adStateOpen Then RS.Close
RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic
If CbCodePdt = RS![Code] Then
LNomPdt = RS![Produit]
LUteA = RS![Unite]
End If
RS.Close
'____________________
Dim VNbre As Long
SQLs = "select * from TableAchats"
If RS.State = adStateOpen Then RS.Close
RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic
VNbre = RS.RecordCount
RS.Close
Dim VQtes, VQ As Double
Dim VNBoucle As Long
For VNBoucle = 1 To VNbre Step 1
SQLs = "select * from TableAchats where (N°=" & CLng(VNBoucle) & ") "
If RS.State = adStateOpen Then RS.Close
RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic
VQtes = RS![Qte]
VQ = VQ + VQtes
Next VNBoucle
'____________________
LCumulQtes = CDbl(VQ)
LCumulQtes = Format(LCumulQtes, "#,##0.00")
End Sub
<code>
Re bonjour
C'est vrai. Je me forme sur le tas et j'ai beaucoup à apprendre sur la programmation.
Et comme je suis arrivé à ce point où la condition bloque la boucle For Next, je demande de l'aide à vous et à toute la communautè de ce forum.
J'attends toujours de l'aide de votre part, avec toute ma reconnaissance.
C'est vrai. Je me forme sur le tas et j'ai beaucoup à apprendre sur la programmation.
Et comme je suis arrivé à ce point où la condition bloque la boucle For Next, je demande de l'aide à vous et à toute la communautè de ce forum.
J'attends toujours de l'aide de votre part, avec toute ma reconnaissance.
j'ai essayé votre proposition mais ça n'a rien malheureusement.
Merci quand même.