Boucle for next

Résolu/Fermé
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 - Modifié le 22 déc. 2018 à 12:31
yg_be Messages postés 23235 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 30 septembre 2024 - 23 déc. 2018 à 12:05
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 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 708
Modifié le 22 déc. 2018 à 19:35
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 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 2
22 déc. 2018 à 22:44
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 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 2
22 déc. 2018 à 23:25
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 23235 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 30 septembre 2024 1 538 > Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024
23 déc. 2018 à 12:05
peux-tu alors marquer le sujet comme résolu, via la roue dentée à droite du titre?
0