Message d'erreur: nom variable champ utilisé dans la fonction "sum" dans un sql

navyconchita Messages postés 31 Date d'inscription mercredi 10 novembre 2010 Statut Membre Dernière intervention 12 janvier 2012 - 10 août 2011 à 20:42
4u4me4us Messages postés 780 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 30 octobre 2013 - 11 août 2011 à 15:28
salut,
dans la requête que vous allez voir ici, je n'arrive pas à savoir le nom de la variable champ à utiliser pour afficher mes données qui sont dans le jeu d'enregistrement.

[requête:

sql = "select codeart,sum(qteope) as 'qteope',puartope from historique where refptvte='" & ptvte & "' and codope='" & ope & "' and dteope= #" & Format$(CDate(LblDteJour.Caption), "mm/dd/yyyy") & "# group by codeart,puartope"

[affichage:

MSFVte.Text = rs!qteope

[message d'erreur:

Erreur d'exécution '3265':
"Impossible de trouver l'objet dans la collection correspondant au nom ou à la référence ordinale demandé."

Merci de votre aide!

4 réponses

4u4me4us Messages postés 780 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 30 octobre 2013 3
11 août 2011 à 13:55
Poste la ligne qui utilise "rs" stp
0
4u4me4us Messages postés 780 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 30 octobre 2013 3
11 août 2011 à 13:56
sum(qteope) existe dans ta table ?
0
navyconchita Messages postés 31 Date d'inscription mercredi 10 novembre 2010 Statut Membre Dernière intervention 12 janvier 2012
11 août 2011 à 14:57
je vous mets toute les lignes. mais le vrai problème c'est que j'ai utilisé cette requête en faisant la somme de "qteope" qui est une variable champ dans la table, c'est pourquoi vous voyez sum(qteope). je me demande bien s'il faut utiliser un alias pour cela et comment? car j'ai déjà essayé avec "...sum(qteope) as qte, mais ça ne marche toujours pas.

If rs.State = 1 Then
rs.Close
Set rs = Nothing
End If
ope = "001"
Dim dte

sql = "select codeart,sum(qteope),puartope from historique where refptvte='" & ptvte & "' and codope='" & ope & "' and dteope=#" & Format$(CDate(LblDteJour.Caption), "mm/dd/yyyy") & "# group by codeart,puartope"
With rs
.CursorType = adOpenDynamic
.CursorLocation = adUseClient
.LockType = adLockReadOnly
.Open sql, cn, , , adCmdText
End With

merci beaucoup!
0
4u4me4us Messages postés 780 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 30 octobre 2013 3
11 août 2011 à 15:28
Ok je vois moi je te propose ce qui suit
sql = "select codeart,qteope,puartope from historique where refptvte='" & ptvte & "' and codope='" & ope & "' and dteope=#" & Format$(CDate(LblDteJour.Caption), "mm/dd/yyyy") & "# group by codeart,puartope" 
With rs 
.CursorType = adOpenDynamic 
.CursorLocation = adUseClient 
.LockType = adLockReadOnly 
.Open sql, cn, , , adCmdText 
End With 

J'ais supptimer ton et ton sum alisas car je penses pas utile dans ce contexte.

De là tu peux utilier la recorcset rs pour afficher tes résultat

msgbox rs.Fields("codeart").Value
msgbox rs.Fields("qteope").Value

Si tu s besion de convertir de string en nombre

msgbox sum(rs.Fields("qteope").Value)

Dis moi si ça joue.
0
Rejoignez-nous