OVH Cloud OVH Cloud

Valeur d'une instruction SQL

4 réponses
Avatar
Céline
Bonjour à tous,

J'ai créé une instruction SQL de la forme :
MonSQL = "SELECT Left([NumBA],2) AS An, Max(NumBA) AS Maxi FROM T_BA GROUP
BY Left([NumBA],2) HAVING
(((Left([NumBA],2))=Left([forms]![F_Saisie]![Debut],2)));"

Je souhaiterais récupérer dans une variable (par exemple MaxBA) la valeur de
MonSQL. Quelle commande dois-je appliquer ?

Merci d'avance pour vos solutions.

Céline.

4 réponses

Avatar
Raymond [mvp]
Bonjour.

Je souhaiterais récupérer dans une variable (par exemple MaxBA) la valeur
de
MonSQL. Quelle commande dois-je appliquer ?


Tu veux dire le résultat de MonSQL ?
Tu espères récupérer 2 champs avec ta requête (An et maxi) et plusieurs
enregistrements ? Il n'est pas possible de charger une variable avec ce
résultat multiple. Tu ne peux que ouvrir un recordset avec cette requête et
ensuite travailler avec lui.
ou alors je n'ai pas compris la question.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Céline" a écrit dans le message de news:

Bonjour à tous,

J'ai créé une instruction SQL de la forme :
MonSQL = "SELECT Left([NumBA],2) AS An, Max(NumBA) AS Maxi FROM T_BA GROUP
BY Left([NumBA],2) HAVING
(((Left([NumBA],2))=Left([forms]![F_Saisie]![Debut],2)));"

Je souhaiterais récupérer dans une variable (par exemple MaxBA) la valeur
de
MonSQL. Quelle commande dois-je appliquer ?

Merci d'avance pour vos solutions.

Céline.




Avatar
Céline
En fait je souhaite récupérer juste la valeur de maxi puisque MonSQL est une
requête regroupement et ne doit retourner qu'une valeur.
Comment puis-je faire autrement ?

Merci
Céline

"Raymond [mvp]" a écrit dans le message de
news:%
Bonjour.

Je souhaiterais récupérer dans une variable (par exemple MaxBA) la
valeur


de
MonSQL. Quelle commande dois-je appliquer ?


Tu veux dire le résultat de MonSQL ?
Tu espères récupérer 2 champs avec ta requête (An et maxi) et plusieurs
enregistrements ? Il n'est pas possible de charger une variable avec ce
résultat multiple. Tu ne peux que ouvrir un recordset avec cette requête
et

ensuite travailler avec lui.
ou alors je n'ai pas compris la question.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Céline" a écrit dans le message de news:

Bonjour à tous,

J'ai créé une instruction SQL de la forme :
MonSQL = "SELECT Left([NumBA],2) AS An, Max(NumBA) AS Maxi FROM T_BA
GROUP


BY Left([NumBA],2) HAVING
(((Left([NumBA],2))=Left([forms]![F_Saisie]![Debut],2)));"

Je souhaiterais récupérer dans une variable (par exemple MaxBA) la
valeur


de
MonSQL. Quelle commande dois-je appliquer ?

Merci d'avance pour vos solutions.

Céline.








Avatar
Raymond [mvp]
Passes directement par la fonction Dmax:

Mavariable = DMax("NumBA", "T_BA GROUP",
"Left([NumBA],2)=Left([forms]![F_Saisie]![Debut],2)")


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Céline" a écrit dans le message de news:

En fait je souhaite récupérer juste la valeur de maxi puisque MonSQL est
une
requête regroupement et ne doit retourner qu'une valeur.
Comment puis-je faire autrement ?

Merci
Céline


Avatar
Céline
C'est parfait, çà fonctionne aussi très bien. Pourquoi chercher compliqué !
Merci beaucoup,

Céline

"Raymond [mvp]" a écrit dans le message de
news:
Passes directement par la fonction Dmax:

Mavariable = DMax("NumBA", "T_BA GROUP",
"Left([NumBA],2)=Left([forms]![F_Saisie]![Debut],2)")


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Céline" a écrit dans le message de news:

En fait je souhaite récupérer juste la valeur de maxi puisque MonSQL est
une
requête regroupement et ne doit retourner qu'une valeur.
Comment puis-je faire autrement ?

Merci
Céline