Comment insérer la somme d'une requête SQL dans une variable VB????
neokeel
Messages postés4Date d'inscriptionjeudi 18 juillet 2002StatutMembreDernière intervention23 juillet 2002
-
22 juil. 2002 à 19:39
neokeel
Messages postés4Date d'inscriptionjeudi 18 juillet 2002StatutMembreDernière intervention23 juillet 2002
-
23 juil. 2002 à 10:29
J'ai beau chercher sur tout le site je trouve jamais de réponse à mon problème! Mauvaises recherches peut-être? Quoi qu'il en soit , quelqu'un pourrait il m'aider à trouver une solution au problème 'Comment insérer la somme d'une requête SQL dans une variable VB????'.
Voici le morceau de mon code qui me pose problème:
Dim cncon As New ADODB.Connection
Dim rscompte As New ADODB.Recordset
Dim solde as Variant
Private Sub Form_Load()
cncon.ConnectionString = "provider= Microsoft.jet.OLEDB.3.51; data source=..\compte\banque.mdb"
cncon.Open
End Sub
Private sub Calcul ()
solde = rscompte.Open "select sum(somme) from crédit", cncon, adOpenDynamic, adLockOptimistic
End sub
-----------------------------------------------------------
Donc là ça ne marche pas et si quelqu'un a une solution à mon problème je le remercie d'avance.
Merci
stefsoft
Messages postés119Date d'inscriptionlundi 15 avril 2002StatutMembreDernière intervention28 novembre 2008 23 juil. 2002 à 09:23
En fait tu n'es pas trop loin de la vérité ...
dans ta requête, il faut nommé la somme avec un alias:
"SELECT SUM(somme) as total FROM crédit"
en suite tu peux récupérer la champ 'total'
cela donne çà dans ton code
Private Sub Calcul()
dim sRequete as string
sRequete="SELECT SUM(somme) as total FROM crédit"
rscompte.Open sRequete,cncon, adOpenStatic, adLockReadOnly 'tu as juste besoin de lire
solde=rscompte!total 'recupération du total
End Sub
-------------------------------------------
Juste un petit conseil, la déclaration d'une connexion ou d'un recorset de la façon Dim ... as New ...
c'est pas très recommandé (sur si tu veux un jour passer à Vb Net)
et évite les accens dans les champs et les noms de table
ton programme serait mieux ainsi:
Dim cnCon as ADODB.Connection
Dim dSolde as Double
Private Sub Form_Load()
Dim sChaine as string
sChaine="provider=Microsoft.jet.OLEDB.3.51;data source='..\compte\banque.mdb'"
set cnCon=new ADODB.Connection
cnCon.Open sChaine
'en ouvrant la connection dans Load n'oublie pas de la fermer et de la détruire dans UNLOAD c'est plus pro
End Sub
Private Sub Calcul()
Dim rsCompte as ADODB.Recordset 'tu en as juste besoin localement
dim sRequete as string
sRequete="SELECT SUM(somme) as total FROM crédit"
'instancier le recorset
set rsCompte=new ADODB.Recordset
'exécution de la requete
rscompte.Open sRequete,cncon, adOpenStatic, adLockReadOnly
'récupération de la somme
dSolde=rscompte!total 'recupération du total
'fermer le recordset et le détruire
rsCompte.close
set rsCompte=Nothing
End Sub