lourdi1
Messages postés5Date d'inscriptionsamedi 19 août 2006StatutMembreDernière intervention 8 février 2011
-
25 avril 2010 à 09:20
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
25 avril 2010 à 10:36
Bonjour,
Est-ce qu'il y a une erreur dans ce code, parceque le résultat est toujours 0
rs.Open "select * from Ecritures where [Compte] like '444%' or [compte] like '445%' or [compte] like '447'", cn, 1, 2
Do While Not rs.EOF
rs2.Open "select * from compte where nom like " & rs!Compte & "", cn, 1, 2
If rs2!Actif = -1 Then
de = CCur(de) + CCur(CCur(rs!d))
cr = CCur(cr) + CCur(CCur(rs!C))
End If
rs2.Close
rs.MoveNext
Loop
rs.Close
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 25 avril 2010 à 10:34
Salut
Si tu as une erreur, il serait peut-être judicieux de dire laquelle et sur quelle ligne, non ?
Comment sont dimensionnés tes RecordSet ? DAO ou ADO ?
Dans ta première requète :
- Un coup tu écris Compte avec une majuscule, un coup sans.
Attention, cela peut avoir une influence.
- Le dernier Like n'a pas de % : normal ?
Pourquoi utiliser Like dans ce cas ? --> =
Dans la seconde requète :
- Tiens, les ' ont disparus
- Like sans % n'a pas d'intérêt --> =
Si tu dois imbriquer deux requètes, pourquoi ne pas le faire directement en une seule ?
Exemple :
Select T1.d, T1.C
From Ecritures T1, compte T2
Where T2.nom = T1.Compte
And T2.Actif = -1
And ( T1.Compte Like '444%'
Or T1.Compte Like '445%'
Or T1.Compte Like '447%')
Voire même faire une requète qui ferait elle même la sommation que tu fais lors du dépouillement du recordset (voir Sum(monChamp) ).
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)