OVH Cloud OVH Cloud

Recupérer les valeurs d'une requête ?

6 réponses
Avatar
Ryo
Salut !
J'ai une requ=EAte qui me retourne un certain nombre de=20
r=E9sultat et j'aimerai savoir si il y a un moyen de=20
recup=E9rer la liste de ces r=E9sultat. En fait tout les=20
r=E9sultat de la requ=EAtes ne m'interesse pas je voudrait=20
recup=E9rer toute les valeur d'une colonne bien precise de=20
la requ=EAte.
Merci d'avance.

6 réponses

Avatar
Raymond [mvp]
Bonjour.

Tu crées une requête basée sur l'autre requête et tu ne sélectionnes que le
champ qui t'intéresse.

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


"Ryo" a écrit dans le message de
news:e8d801c3f081$37de9f90$
Salut !
J'ai une requête qui me retourne un certain nombre de
résultat et j'aimerai savoir si il y a un moyen de
recupérer la liste de ces résultat. En fait tout les
résultat de la requêtes ne m'interesse pas je voudrait
recupérer toute les valeur d'une colonne bien precise de
la requête.
Merci d'avance.
Avatar
Pas bête du tout ça (surtout que ca m'était même pas venu
à l'esprit).
Mais y'as t il un moyen pour qu'aprés je puisse récupérer
par la ligne que je veux dans une variable en vba ?
Par exemple je veux recupérer la 3eme valeur de la liste,
comment je fait ?

-----Message d'origine-----
Bonjour.

Tu crées une requête basée sur l'autre requête et tu ne
sélectionnes que le

champ qui t'intéresse.

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


"Ryo" a écrit dans
le message de

news:e8d801c3f081$37de9f90$
Salut !
J'ai une requête qui me retourne un certain nombre de
résultat et j'aimerai savoir si il y a un moyen de
recupérer la liste de ces résultat. En fait tout les
résultat de la requêtes ne m'interesse pas je voudrait
recupérer toute les valeur d'une colonne bien precise de
la requête.
Merci d'avance.


.



Avatar
Raymond [mvp]
Tu fais une requête premières valeurs (TOP n en sql) avec un tri Desc. un
Top 3 avec tri desc te donne les 3 premières valeurs et si tu fais une
requête supplémentaire Top 1 tri ascendant sur cette dernière requête tu
auras 1 seule ligne qui était la 3e ligne de la requête Top 3

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


a écrit dans le message de
news:e99101c3f088$7dded580$
Pas bête du tout ça (surtout que ca m'était même pas venu
à l'esprit).
Mais y'as t il un moyen pour qu'aprés je puisse récupérer
par la ligne que je veux dans une variable en vba ?
Par exemple je veux recupérer la 3eme valeur de la liste,
comment je fait ?
Avatar
Merci maintenant je vois un peu mieux comment faire.
Toutefois pour faire un TOP n, je doit construire ma
requete dans mon code VBA ou alors je fait une requete
normale mais je vois pas comment lui passer mon 'n' dans
ce cas là ?
Et Si je contruit la requête dans le code comment je fait
pour accéder aux données de cette requête, elle n'a pas de
nom (par exemple avec DLast() faut mettre le domaine).

-----Message d'origine-----
Tu fais une requête premières valeurs (TOP n en sql)
avec un tri Desc. un

Top 3 avec tri desc te donne les 3 premières valeurs et
si tu fais une

requête supplémentaire Top 1 tri ascendant sur cette
dernière requête tu

auras 1 seule ligne qui était la 3e ligne de la requête
Top 3


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


a écrit dans le
message de

news:e99101c3f088$7dded580$
Pas bête du tout ça (surtout que ca m'était même pas venu
à l'esprit).
Mais y'as t il un moyen pour qu'aprés je puisse récupérer
par la ligne que je veux dans une variable en vba ?
Par exemple je veux recupérer la 3eme valeur de la liste,
comment je fait ?


.



Avatar
Raymond [mvp]
Pour débuter il serait préférable de le faire sur des requêtes enregistrées
avec un n fixe. lorsque tout marchera bien tu le passeras en vba si c'est
nécessaire. tu peux accéder aux requêtes par les fonctions de domaine DLast
.....

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


a écrit dans le message de
news:ea9201c3f0a4$241ed8d0$
Merci maintenant je vois un peu mieux comment faire.
Toutefois pour faire un TOP n, je doit construire ma
requete dans mon code VBA ou alors je fait une requete
normale mais je vois pas comment lui passer mon 'n' dans
ce cas là ?
Et Si je contruit la requête dans le code comment je fait
pour accéder aux données de cette requête, elle n'a pas de
nom (par exemple avec DLast() faut mettre le domaine).
Avatar
Ryo
Merci de ton aide je viens juste de réussir !
Pour ceux que ca pourrais intéresser:
Public Sub TopN(Table As String, Champ As String, N As
String)
DoCmd.SetWarnings False
DoCmd.RunSQL "SELECT TOP " & N & " " & Table & ".[" &
Champ & "] INTO Temp FROM " & Table
DoCmd.SetWarnings True
End Sub
Ca récupére les N premiers champs de Table.Champ et ça les
met dans Temp.Champ (Temp serra crée si elle n'existe pas).
Bon maintenant le Top se serrait que je detruise Temp
aprés m'en être servit si quelqu'un a deja le code...
-----Message d'origine-----
Pour débuter il serait préférable de le faire sur des
requêtes enregistrées

avec un n fixe. lorsque tout marchera bien tu le passeras
en vba si c'est

nécessaire. tu peux accéder aux requêtes par les
fonctions de domaine DLast

......

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


a écrit dans le
message de

news:ea9201c3f0a4$241ed8d0$
Merci maintenant je vois un peu mieux comment faire.
Toutefois pour faire un TOP n, je doit construire ma
requete dans mon code VBA ou alors je fait une requete
normale mais je vois pas comment lui passer mon 'n' dans
ce cas là ?
Et Si je contruit la requête dans le code comment je fait
pour accéder aux données de cette requête, elle n'a pas de
nom (par exemple avec DLast() faut mettre le domaine).


.