OVH Cloud OVH Cloud

Syntaxe SQL Where

7 réponses
Avatar
Kolonna
Bonjour à tous,

Je souhaite, à partir d'une zone de liste, paramétrer une requête, en
particulier les conditions WHERE.
A partir d'une fonction, je recupère les valeurs de la zone selectionnées
(For each x In Me.liste.ItemsSelected...).
Par contre, que faut-il indiquer dans la requête? et où ?
renvoyer à une fonction au niveau du paramètre ? J'ai en fait du mal avec la
syntaxe SQL ou autre à employer, je mélange un peu tout !! ;-)

Merci de votre aide !

7 réponses

Avatar
Gafish
Bonjour,

Le plus simple c'est que tu te fasses ta requête "à la main" en vba.
Dans un string en vba tu vas constuire au fur et à mesure.
D'abord tu peux faire :
TxtRequete = "SELECT * FROM [TaTable]"
et en bouclant sur ta liste tu ajoutes tes conditions. Au premier passage
dans ta boucle d'item sélectionnés, tu fais
TxtRequete = TxtRequete & " WHERE [MonChamp1]=" & x
et ensuite tu feras :
TxtRequete = TxtRequete & " AND [MonChamp2]=" & x
...
Tu auras construit ta requête, il ne te restera plus qu'à l'executer. Si tu
ne sais pas faire reviens nous dire, mais il faudra que tu précises ce que
tu veux faire avec ta requête (selection, ajout, suppression...). J'ai
d'ailleurs supposé ci-dessus que c'était une selection car j'ai mis select.

Arnaud

"Kolonna" a écrit dans le message news:

Bonjour à tous,

Je souhaite, à partir d'une zone de liste, paramétrer une requête, en
particulier les conditions WHERE.
A partir d'une fonction, je recupère les valeurs de la zone selectionnées
(For each x In Me.liste.ItemsSelected...).
Par contre, que faut-il indiquer dans la requête? et où ?
renvoyer à une fonction au niveau du paramètre ? J'ai en fait du mal avec
la

syntaxe SQL ou autre à employer, je mélange un peu tout !! ;-)

Merci de votre aide !


Avatar
Raymond [mvp]
Bonjour.

tu trouveras un exemple sur la page :
http://officesystem.access.free.fr/ex_selection_multiple.htm

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


"Kolonna" a écrit dans le message de
news:
Bonjour à tous,

Je souhaite, à partir d'une zone de liste, paramétrer une requête, en
particulier les conditions WHERE.
A partir d'une fonction, je recupère les valeurs de la zone selectionnées
(For each x In Me.liste.ItemsSelected...).
Par contre, que faut-il indiquer dans la requête? et où ?
renvoyer à une fonction au niveau du paramètre ? J'ai en fait du mal avec
la
syntaxe SQL ou autre à employer, je mélange un peu tout !! ;-)

Merci de votre aide !


Avatar
Kolonna
Je veux bien un coup de main, en effet... ;-)

Je veux en effet faire une Requête Sélection.
Comment déclares-tu TxtRequête ?
Comment exécutes-tu ensuite la requête ?
Y a des changements de syntaxe j'imagine par rapport au code dans ACCESS ?
Si tu peux me donner une exemple avec par exemple:
SELECT Format(Date,"mm/yy")
ou le lien vers un site où je peux trouver des infos ?

Merci en tout cas pour ton aide !!

Kolonna.



Bonjour,

Le plus simple c'est que tu te fasses ta requête "à la main" en vba.
Dans un string en vba tu vas constuire au fur et à mesure.
D'abord tu peux faire :
TxtRequete = "SELECT * FROM [TaTable]"
et en bouclant sur ta liste tu ajoutes tes conditions. Au premier passage
dans ta boucle d'item sélectionnés, tu fais
TxtRequete = TxtRequete & " WHERE [MonChamp1]=" & x
et ensuite tu feras :
TxtRequete = TxtRequete & " AND [MonChamp2]=" & x
....
Tu auras construit ta requête, il ne te restera plus qu'à l'executer. Si tu
ne sais pas faire reviens nous dire, mais il faudra que tu précises ce que
tu veux faire avec ta requête (selection, ajout, suppression...). J'ai
d'ailleurs supposé ci-dessus que c'était une selection car j'ai mis select.

Arnaud

"Kolonna" a écrit dans le message news:

Bonjour à tous,

Je souhaite, à partir d'une zone de liste, paramétrer une requête, en
particulier les conditions WHERE.
A partir d'une fonction, je recupère les valeurs de la zone selectionnées
(For each x In Me.liste.ItemsSelected...).
Par contre, que faut-il indiquer dans la requête? et où ?
renvoyer à une fonction au niveau du paramètre ? J'ai en fait du mal avec
la

syntaxe SQL ou autre à employer, je mélange un peu tout !! ;-)

Merci de votre aide !







Avatar
Gafish
Alors dans l'ordre :
- Pour déclarer TxtRequete, c'est :
Dim TxtRequete as String
c'est une variable chaine de caractere
- Pour executer la requête
vu que c'est une requête sélection, il faut savoir ce que tu comptes en
faire : afficher des données dans un form, un état, parcourir les
enregistrements et faire des manips... Essaie d'etre précis sur le but
recherché.
- C'est à dire des changements par rapport au code dans Access ? Nous sommes
bien dans Access ici, mais dans un module vba. Peut_être parles tu du code
SQL généré lors de la création d'une requête ?

"Kolonna" a écrit dans le message news:

Je veux bien un coup de main, en effet... ;-)

Je veux en effet faire une Requête Sélection.
Comment déclares-tu TxtRequête ?
Comment exécutes-tu ensuite la requête ?
Y a des changements de syntaxe j'imagine par rapport au code dans ACCESS ?
Si tu peux me donner une exemple avec par exemple:
SELECT Format(Date,"mm/yy")
ou le lien vers un site où je peux trouver des infos ?

Merci en tout cas pour ton aide !!

Kolonna.



Bonjour,

Le plus simple c'est que tu te fasses ta requête "à la main" en vba.
Dans un string en vba tu vas constuire au fur et à mesure.
D'abord tu peux faire :
TxtRequete = "SELECT * FROM [TaTable]"
et en bouclant sur ta liste tu ajoutes tes conditions. Au premier
passage


dans ta boucle d'item sélectionnés, tu fais
TxtRequete = TxtRequete & " WHERE [MonChamp1]=" & x
et ensuite tu feras :
TxtRequete = TxtRequete & " AND [MonChamp2]=" & x
....
Tu auras construit ta requête, il ne te restera plus qu'à l'executer. Si
tu


ne sais pas faire reviens nous dire, mais il faudra que tu précises ce
que


tu veux faire avec ta requête (selection, ajout, suppression...). J'ai
d'ailleurs supposé ci-dessus que c'était une selection car j'ai mis
select.



Arnaud

"Kolonna" a écrit dans le message
news:



Bonjour à tous,

Je souhaite, à partir d'une zone de liste, paramétrer une requête, en
particulier les conditions WHERE.
A partir d'une fonction, je recupère les valeurs de la zone
selectionnées



(For each x In Me.liste.ItemsSelected...).
Par contre, que faut-il indiquer dans la requête? et où ?
renvoyer à une fonction au niveau du paramètre ? J'ai en fait du mal
avec



la
syntaxe SQL ou autre à employer, je mélange un peu tout !! ;-)

Merci de votre aide !









Avatar
Kolonna
- Je veux juste afficher les résultats sous forme de feuilles de données,
juste executer la requête.
- en effet, je confonds un peu tout. Actuellement je modifie les requêtes
via Affichage / Mode SQL. La syntaxe a l'air différente lorsque le code est
inséré dans du VBA, non ?


Alors dans l'ordre :
- Pour déclarer TxtRequete, c'est :
Dim TxtRequete as String
c'est une variable chaine de caractere
- Pour executer la requête
vu que c'est une requête sélection, il faut savoir ce que tu comptes en
faire : afficher des données dans un form, un état, parcourir les
enregistrements et faire des manips... Essaie d'etre précis sur le but
recherché.
- C'est à dire des changements par rapport au code dans Access ? Nous sommes
bien dans Access ici, mais dans un module vba. Peut_être parles tu du code
SQL généré lors de la création d'une requête ?

"Kolonna" a écrit dans le message news:

Je veux bien un coup de main, en effet... ;-)

Je veux en effet faire une Requête Sélection.
Comment déclares-tu TxtRequête ?
Comment exécutes-tu ensuite la requête ?
Y a des changements de syntaxe j'imagine par rapport au code dans ACCESS ?
Si tu peux me donner une exemple avec par exemple:
SELECT Format(Date,"mm/yy")
ou le lien vers un site où je peux trouver des infos ?

Merci en tout cas pour ton aide !!

Kolonna.



Bonjour,

Le plus simple c'est que tu te fasses ta requête "à la main" en vba.
Dans un string en vba tu vas constuire au fur et à mesure.
D'abord tu peux faire :
TxtRequete = "SELECT * FROM [TaTable]"
et en bouclant sur ta liste tu ajoutes tes conditions. Au premier
passage


dans ta boucle d'item sélectionnés, tu fais
TxtRequete = TxtRequete & " WHERE [MonChamp1]=" & x
et ensuite tu feras :
TxtRequete = TxtRequete & " AND [MonChamp2]=" & x
....
Tu auras construit ta requête, il ne te restera plus qu'à l'executer. Si
tu


ne sais pas faire reviens nous dire, mais il faudra que tu précises ce
que


tu veux faire avec ta requête (selection, ajout, suppression...). J'ai
d'ailleurs supposé ci-dessus que c'était une selection car j'ai mis
select.



Arnaud

"Kolonna" a écrit dans le message
news:



Bonjour à tous,

Je souhaite, à partir d'une zone de liste, paramétrer une requête, en
particulier les conditions WHERE.
A partir d'une fonction, je recupère les valeurs de la zone
selectionnées



(For each x In Me.liste.ItemsSelected...).
Par contre, que faut-il indiquer dans la requête? et où ?
renvoyer à une fonction au niveau du paramètre ? J'ai en fait du mal
avec



la
syntaxe SQL ou autre à employer, je mélange un peu tout !! ;-)

Merci de votre aide !














Avatar
Gafish
En ce cas tu te crées un formulaire en mode feuille de données.
Depuis ton formulaire contenant la liste tu ouvres ce deuxième formulaire et
tu lui passes la requeête que tu as créée. Pour cela utilise la propriété
"RecordSource" du formulaire, qui est en fait la requête ou la table sur
laquelle se base le formulaire.
La syntaxe n'est pas différente en vba, cela reste du SQL, mais on va
trouver au milieu des variables.

"Kolonna" a écrit dans le message news:

- Je veux juste afficher les résultats sous forme de feuilles de données,
juste executer la requête.
- en effet, je confonds un peu tout. Actuellement je modifie les requêtes
via Affichage / Mode SQL. La syntaxe a l'air différente lorsque le code
est

inséré dans du VBA, non ?


Alors dans l'ordre :
- Pour déclarer TxtRequete, c'est :
Dim TxtRequete as String
c'est une variable chaine de caractere
- Pour executer la requête
vu que c'est une requête sélection, il faut savoir ce que tu comptes en
faire : afficher des données dans un form, un état, parcourir les
enregistrements et faire des manips... Essaie d'etre précis sur le but
recherché.
- C'est à dire des changements par rapport au code dans Access ? Nous
sommes


bien dans Access ici, mais dans un module vba. Peut_être parles tu du
code


SQL généré lors de la création d'une requête ?

"Kolonna" a écrit dans le message
news:



Je veux bien un coup de main, en effet... ;-)

Je veux en effet faire une Requête Sélection.
Comment déclares-tu TxtRequête ?
Comment exécutes-tu ensuite la requête ?
Y a des changements de syntaxe j'imagine par rapport au code dans
ACCESS ?



Si tu peux me donner une exemple avec par exemple:
SELECT Format(Date,"mm/yy")
ou le lien vers un site où je peux trouver des infos ?

Merci en tout cas pour ton aide !!

Kolonna.



Bonjour,

Le plus simple c'est que tu te fasses ta requête "à la main" en vba.
Dans un string en vba tu vas constuire au fur et à mesure.
D'abord tu peux faire :
TxtRequete = "SELECT * FROM [TaTable]"
et en bouclant sur ta liste tu ajoutes tes conditions. Au premier
passage


dans ta boucle d'item sélectionnés, tu fais
TxtRequete = TxtRequete & " WHERE [MonChamp1]=" & x
et ensuite tu feras :
TxtRequete = TxtRequete & " AND [MonChamp2]=" & x
....
Tu auras construit ta requête, il ne te restera plus qu'à
l'executer. Si




tu
ne sais pas faire reviens nous dire, mais il faudra que tu précises
ce




que
tu veux faire avec ta requête (selection, ajout, suppression...).
J'ai




d'ailleurs supposé ci-dessus que c'était une selection car j'ai mis
select.



Arnaud

"Kolonna" a écrit dans le
message




news:

Bonjour à tous,

Je souhaite, à partir d'une zone de liste, paramétrer une requête,
en





particulier les conditions WHERE.
A partir d'une fonction, je recupère les valeurs de la zone
selectionnées



(For each x In Me.liste.ItemsSelected...).
Par contre, que faut-il indiquer dans la requête? et où ?
renvoyer à une fonction au niveau du paramètre ? J'ai en fait du
mal





avec
la
syntaxe SQL ou autre à employer, je mélange un peu tout !! ;-)

Merci de votre aide !
















Avatar
Kolonna
Ok, je te remercie!
je vais tester tout çà !

A+
Kolonna.

"Gafish" wrote:

En ce cas tu te crées un formulaire en mode feuille de données.
Depuis ton formulaire contenant la liste tu ouvres ce deuxième formulaire et
tu lui passes la requeête que tu as créée. Pour cela utilise la propriété
"RecordSource" du formulaire, qui est en fait la requête ou la table sur
laquelle se base le formulaire.
La syntaxe n'est pas différente en vba, cela reste du SQL, mais on va
trouver au milieu des variables.

"Kolonna" a écrit dans le message news:

- Je veux juste afficher les résultats sous forme de feuilles de données,
juste executer la requête.
- en effet, je confonds un peu tout. Actuellement je modifie les requêtes
via Affichage / Mode SQL. La syntaxe a l'air différente lorsque le code
est

inséré dans du VBA, non ?


Alors dans l'ordre :
- Pour déclarer TxtRequete, c'est :
Dim TxtRequete as String
c'est une variable chaine de caractere
- Pour executer la requête
vu que c'est une requête sélection, il faut savoir ce que tu comptes en
faire : afficher des données dans un form, un état, parcourir les
enregistrements et faire des manips... Essaie d'etre précis sur le but
recherché.
- C'est à dire des changements par rapport au code dans Access ? Nous
sommes


bien dans Access ici, mais dans un module vba. Peut_être parles tu du
code


SQL généré lors de la création d'une requête ?

"Kolonna" a écrit dans le message
news:



Je veux bien un coup de main, en effet... ;-)

Je veux en effet faire une Requête Sélection.
Comment déclares-tu TxtRequête ?
Comment exécutes-tu ensuite la requête ?
Y a des changements de syntaxe j'imagine par rapport au code dans
ACCESS ?



Si tu peux me donner une exemple avec par exemple:
SELECT Format(Date,"mm/yy")
ou le lien vers un site où je peux trouver des infos ?

Merci en tout cas pour ton aide !!

Kolonna.



Bonjour,

Le plus simple c'est que tu te fasses ta requête "à la main" en vba.
Dans un string en vba tu vas constuire au fur et à mesure.
D'abord tu peux faire :
TxtRequete = "SELECT * FROM [TaTable]"
et en bouclant sur ta liste tu ajoutes tes conditions. Au premier
passage


dans ta boucle d'item sélectionnés, tu fais
TxtRequete = TxtRequete & " WHERE [MonChamp1]=" & x
et ensuite tu feras :
TxtRequete = TxtRequete & " AND [MonChamp2]=" & x
....
Tu auras construit ta requête, il ne te restera plus qu'à
l'executer. Si




tu
ne sais pas faire reviens nous dire, mais il faudra que tu précises
ce




que
tu veux faire avec ta requête (selection, ajout, suppression...).
J'ai




d'ailleurs supposé ci-dessus que c'était une selection car j'ai mis
select.



Arnaud

"Kolonna" a écrit dans le
message




news:

Bonjour à tous,

Je souhaite, à partir d'une zone de liste, paramétrer une requête,
en





particulier les conditions WHERE.
A partir d'une fonction, je recupère les valeurs de la zone
selectionnées



(For each x In Me.liste.ItemsSelected...).
Par contre, que faut-il indiquer dans la requête? et où ?
renvoyer à une fonction au niveau du paramètre ? J'ai en fait du
mal





avec
la
syntaxe SQL ou autre à employer, je mélange un peu tout !! ;-)

Merci de votre aide !