Boucle for next

Résolu
Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour tout le monde.

Je suis de retour sur ce forum, aprés une longue période d'absence .
Je suis toujours sur VB6. Mon problème est que je ne réussi pas ma boucle For to - next.
J'ai un tableau ( datagrid) ou j'ai saisi des données. Telles:

CodePdt
Qtes

Mon but est de faire afficher la somme de Qtes ( quantités) du produit choisi
( identifié par son code.)

La synthaxe utilsée est :

Dim Vnbre as integer
Dim Vqtes , Vsomme as double

Sqls = "select * from tableAchats"

If rs.state= adstateopen then Rs.close
Rs.open sqls, db, adkey...........

Vnbe= rs.recordcount.
Rs.close

For vnbre = 1 to vnbre step 1

Sqls = "select * from tableAchats"

If rs.state= adstateopen then Rs.close
Rs.open sqls, db, adkey...........

If rs![pdt]=lnompdt then

Vqtes=rs![qtes]

End if

Vsomme= Vsomme + Vqtes

Next Vnbre

Labelsomme = Vsomme
Labelsomme= format(Labelsomme, "#,##0.00")

Je cherche à réussir le fonctionnement de la commande suivante:

Quand je clique sur le codepdt s'affiche
le nom du produit
La somme de qtes de ce produit.

Merci pour votre aide

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

Merci d'y penser dans tes prochains messages.
A voir également:

1 réponse

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,
Pas besoin de boucle!!!
Adaptez les champs au besoin car des quantites a deux chiffres derriere le virgule!!!
    sqls = "SELECT Sum(tableAchats.qtes) AS Expr1 From tableAchats WHERE (((tableAchats.[pdt])='" & lnompdt & "'));"
    Rs.open sqls, db, adkey
    If Rs.state = adstateopen Then Rs.Close
    Rs.open sqls, db, adkey
    Labelsomme = Format(Rs.Fields(0), "#,##0.00")
0
Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   2
 
Bonjour f894009

C'est un grand plaisir de vous lire, je n'oublierai jamais vos aides précieuses. C'était au cours de 2014/2015.
à l'époque j'utilsais le pseudo "MohaLesage". Un grand MERCI

Revenant à mes tentatives, en utilisant la syntaxe proposée par vous le VB6 me renvoie le message : " Erreur de syntaxe(absence d'opérateur dans cette expression......)



SQLs = "SELECT Sum(TableAchats.[Qte] as Expr1  From TableAchats WHERE (TableAchats.[Pdt]='" & LNomPdt & "'));"

If RS.State = adStateOpen Then RS.Close
RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic

LCumulQtes = Format(RS.Fields(0), "#,##0.00")
0
Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   2
 
Re bonjour

Enfin la syntaxe que vous m'aviez proposée marche à merveille.
Merci une autre fois


SQLs = "SELECT Sum(TableAchats.Qte)   From TableAchats WHERE (TableAchats.[Pdt]='" & LNomPdt & "');"

If RS.State = adStateOpen Then RS.Close
RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic

LCumulQtes = Format(RS.Fields(0), "#,##0.00")


0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention  
 
peux-tu alors marquer le sujet comme résolu, via la roue dentée à droite du titre?
0