OVH Cloud OVH Cloud

condtion Where en SQL

5 réponses
Avatar
Hervé
Bonjour,

J'aimerais filtrer des donn=E9es d'une requ=E8te. Pour cela=20
j'utilise :
Set RS =3D DB.OpenRecordset("SELECT * FROM R_N=B0Validation=20
WHERE ([N=B0Plan] =3D 'P1');")
Ca Marche !
Le probl=E8me c'est que dans un deuxi=E8me temps, je voudrais=20
remplacer 'P1' par une variable de type string.=20

Example
Variable =3D P1
Set RS =3D DB.OpenRecordset("SELECT * FROM R_N=B0Validation=20
WHERE ([N=B0Plan] =3D Variable);")

Et la cela ne marche plus. J'ai un message d'erreur qui me=20
dit qu'il n'y a pas de conditions.
Peut-on utiliser une variable comme condition dans avec=20
Where ou faut-il toujours mette une valeur constante ?

Merci pour votre aide, RV

5 réponses

Avatar
Raymond
Bonjour.
il faut sortir la variable du littéral:

Set RS = DB.OpenRecordset("SELECT * FROM R_N°Validation WHERE [N°Plan] = '"
& Variable & "';")

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Hervé" a écrit dans le message de
news:0b0501c39490$dbbd65d0$
Bonjour,

J'aimerais filtrer des données d'une requète. Pour cela
j'utilise :
Set RS = DB.OpenRecordset("SELECT * FROM R_N°Validation
WHERE ([N°Plan] = 'P1');")
Ca Marche !
Le problème c'est que dans un deuxième temps, je voudrais
remplacer 'P1' par une variable de type string.

Example
Variable = P1
Set RS = DB.OpenRecordset("SELECT * FROM R_N°Validation
WHERE ([N°Plan] = Variable);")

Et la cela ne marche plus. J'ai un message d'erreur qui me
dit qu'il n'y a pas de conditions.
Peut-on utiliser une variable comme condition dans avec
Where ou faut-il toujours mette une valeur constante ?

Merci pour votre aide, RV
Avatar
Denis Taglia
Bonjour Hervé
where ([N°plan] = ' " & variable & " ' );"
il a mis des espace entre les ' et les " pour mieux voir. Inutile
Denis

"Hervé" a écrit dans le message de
news:0b0501c39490$dbbd65d0$
Bonjour,

J'aimerais filtrer des données d'une requète. Pour cela
j'utilise :
Set RS = DB.OpenRecordset("SELECT * FROM R_N°Validation
WHERE ([N°Plan] = 'P1');")
Ca Marche !
Le problème c'est que dans un deuxième temps, je voudrais
remplacer 'P1' par une variable de type string.

Example
Variable = P1
Set RS = DB.OpenRecordset("SELECT * FROM R_N°Validation
WHERE ([N°Plan] = Variable);")

Et la cela ne marche plus. J'ai un message d'erreur qui me
dit qu'il n'y a pas de conditions.
Peut-on utiliser une variable comme condition dans avec
Where ou faut-il toujours mette une valeur constante ?

Merci pour votre aide, RV
Avatar
lolo
"Hervé" a pensé très fort :
Bonjour,

J'aimerais filtrer des données d'une requète. Pour cela
j'utilise :
Set RS = DB.OpenRecordset("SELECT * FROM R_N°Validation
WHERE ([N°Plan] = 'P1');")
Ca Marche !
Le problème c'est que dans un deuxième temps, je voudrais
remplacer 'P1' par une variable de type string.

Example
Variable = P1
Set RS = DB.OpenRecordset("SELECT * FROM R_N°Validation
WHERE ([N°Plan] = Variable);")

Et la cela ne marche plus. J'ai un message d'erreur qui me
dit qu'il n'y a pas de conditions.
Peut-on utiliser une variable comme condition dans avec
Where ou faut-il toujours mette une valeur constante ?

Merci pour votre aide, RV


je ne suis pas grand spécialiste, mais je considérerais la requête
comme étant une chaine de caractère que je découperais en 2:
dim marequete as string
marequete="SELECT * FROM R_N°Validation WHERE ([N°Plan] = " & Variable
Set RS = DB.OpenRecordset(marequete)


--
lolo
There are 10 types of people in the world... those who understand
binary and those who don't.

Avatar
Hervé
Ca marche, merci. J'ai encore un peu de mal avec la syntaxe
-----Message d'origine-----
Bonjour.
il faut sortir la variable du littéral:

Set RS = DB.OpenRecordset("SELECT * FROM R_N°Validation
WHERE [N°Plan] = '"

& Variable & "';")

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Hervé" a écrit dans le message
de

news:0b0501c39490$dbbd65d0$
Bonjour,

J'aimerais filtrer des données d'une requète. Pour cela
j'utilise :
Set RS = DB.OpenRecordset("SELECT * FROM R_N°Validation
WHERE ([N°Plan] = 'P1');")
Ca Marche !
Le problème c'est que dans un deuxième temps, je voudrais
remplacer 'P1' par une variable de type string.

Example
Variable = P1
Set RS = DB.OpenRecordset("SELECT * FROM R_N°Validation
WHERE ([N°Plan] = Variable);")

Et la cela ne marche plus. J'ai un message d'erreur qui me
dit qu'il n'y a pas de conditions.
Peut-on utiliser une variable comme condition dans avec
Where ou faut-il toujours mette une valeur constante ?

Merci pour votre aide, RV


.



Avatar
Jeff
Bonjour

Personnellement, je préfère :
Set RS = DB.OpenRecordset("SELECT * FROM R_N°Validation WHERE ([N°Plan] = "
& Chr$(34) & Variable & Chr$(34) & ");")

Ceci pour éviter les erreurs dans le cas où la varible (a priori ici ce
n'est pas le cas je sais ;-)) contient une apostrophe...

--
Cordialement

Jeff

Charte du forum : http://users.skynet.be/mpfa/

"Hervé" a écrit dans le message de
news:0b0501c39490$dbbd65d0$
Bonjour,

J'aimerais filtrer des données d'une requète. Pour cela
j'utilise :
Set RS = DB.OpenRecordset("SELECT * FROM R_N°Validation
WHERE ([N°Plan] = 'P1');")
Ca Marche !
Le problème c'est que dans un deuxième temps, je voudrais
remplacer 'P1' par une variable de type string.

Example
Variable = P1
Set RS = DB.OpenRecordset("SELECT * FROM R_N°Validation
WHERE ([N°Plan] = Variable);")

Et la cela ne marche plus. J'ai un message d'erreur qui me
dit qu'il n'y a pas de conditions.
Peut-on utiliser une variable comme condition dans avec
Where ou faut-il toujours mette une valeur constante ?

Merci pour votre aide, RV