OVH Cloud OVH Cloud

requete sp

4 réponses
Avatar
JCM
Bonjour

je voudrais faire une requete sur une table access dont le=20
champs IDdepense peut etre AL00 =E0 AB00 ou AL01 ou AL01_01

je veux s=E9lectionner les enregistrements dont le champs ne=20
comporte que 4 lettres et les deux premieres=3DAL=20
(IDtype=3D"AL")

dans la requete ci-dessous cela sort tous les=20
enregistrements commencant par AL, je ne sais pas comment=20
faire ajouter la condition qui limite l'enregistrement =E0 4=20
lettres

Call MyFonctions.ExecSQL("Select * from depenseACFCI2002=20
where left(IDdepense,2)=3D'" & left(IDtype, 2) & "'",=20
ADOrst, ADOcnx)

Merci de vos r=E9ponses
JCM

4 réponses

Avatar
Zoury
Salut Jean-Claude! :O)

Tu travailles sur quel type de BD?

Sur SQL Server (et aussi access je crois) ceci devrait fonctionner :

Call MyFonctions.ExecSQL( _
"Select * " & _
"from depenseACFCI2002 " & _
"where left(IDdepense, 2) = '" & left(IDtype, 2) & "' and " & _
"len(IDdepense) = 4", _
ADOrst, _
ADOcnx)

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Avatar
JCM
Salut Zoury

Merci pour ta réponse, effectivement j'aurais du y penser

Cordialement
JCM
-----Message d'origine-----
Salut Jean-Claude! :O)

Tu travailles sur quel type de BD?

Sur SQL Server (et aussi access je crois) ceci devrait


fonctionner :

Call MyFonctions.ExecSQL( _
"Select * " & _
"from depenseACFCI2002 " & _
"where left(IDdepense, 2) = '" & left(IDtype, 2) & "'


and " & _
"len(IDdepense) = 4", _
ADOrst, _
ADOcnx)

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 -


http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml -


http://www.mztools.com/


.



Avatar
Pascal B.
Bonjour,

Ceci ne serait pas plus simple ?

"Select * From depenseACFCI2002 " & _
"Where IDdepense LIKE '" & left(IDtype, 2) & "??"

Pascal

"Zoury" wrote in message news:
| Salut Jean-Claude! :O)
|
| Tu travailles sur quel type de BD?
|
| Sur SQL Server (et aussi access je crois) ceci devrait fonctionner :
|
| Call MyFonctions.ExecSQL( _
| "Select * " & _
| "from depenseACFCI2002 " & _
| "where left(IDdepense, 2) = '" & left(IDtype, 2) & "' and " & _
| "len(IDdepense) = 4", _
| ADOrst, _
| ADOcnx)
|
| --
| Cordialement
| Yanick Lefebvre - MVP pour Visual Basic
| http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
| http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
|
|
Avatar
Zoury
Salut Pascal! :O)

Ceci ne serait pas plus simple ?



plus simple ? ça dépend des avis.. les sont très lisible selon moi :O)
plus rapide ? légèrement plus lent.. étant qu'il faut quand même utiliser
left() sur le membre de droite, en plus d'y concaténer le '%' (ou '*') à la
fin.

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/