Pb requete avec string

cs_bergamotte Messages postés 94 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 9 juin 2003 - 9 mai 2003 à 11:26
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012 - 9 mai 2003 à 14:26
Bonjour,

Je n'arrive pas a rediger correctement ma requete c'est un probleme avec les guillemets je suppose.

alors voila ma requete :

if len(modu2) <> 0 thenstrReq"select distinct im.MOD_CODE, im.MOD_NAME, im.LEV_CODE, ismr.PSL_CODE, ismr.MAV_OCCUR from SIPR_INS_MOD im, SIPR_INS_SMR ismr where ismr.MOD_CODE im.MOD_CODE and left(im.MOD_CODE,len(modu))= '&modu&' and left(im.MOD_CODE,len(modu2))= '&modu2&' and ismr.MAV_OCCUR = '" & dboccur & "' order by im.MOD_CODE"
elsestrReq"select distinct im.MOD_CODE, im.MOD_NAME, im.LEV_CODE, ismr.PSL_CODE, ismr.MAV_OCCUR from SIPR_INS_MOD im, SIPR_INS_SMR ismr where ismr.MOD_CODE im.MOD_CODE and left(im.MOD_CODE,len(modu))= '&modu&' and ismr.MAV_OCCUR = '" & dboccur & "' order by im.MOD_CODE"
end if

Mon probleme se situe au niveau de

left(im.MOD_CODE,len(modu))= '&modu&'

modu est egal a Request.Querystring("mod")

Je ne sais pas comment positionner les guillemets sur cette string.

si vous avez une idee n'hesitez pas je suis prenante

merci

bises

bergamotte :shy)

11 réponses

cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
9 mai 2003 à 11:47
Alors attends, je vais voir si je comprends :
modu c'est une chaîne de caractère dans vb ? Si c'est le cas je pense qu'il faut écrire :

left(im.MOD_CODE,len(modu))= '" & modu & "' etc..

Mais je suis pas bien sûr d'avoir compris
0
frappemisere Messages postés 34 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 21 août 2003
9 mai 2003 à 11:49
left(im.MOD_CODE,len(modu))= ' " & modu & " ' "
si modu est une string, c est ça
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
9 mai 2003 à 12:05
Salut
Question : Pourquoi les & avant Modu ?
Si c'est vraiment utile, j'utiliserai le code ascii 38 à la place.
Tel que c'est écrit, MOD_CODE sera comparé au texte "&modu&" et PAS au contenu de modu si c'est une variable !
Si "modu" est une variable (ce qui semble être le cas dans le If du dessus, il faut utiliser la même syntaxe que dans ton dernier AND :
... and left(im.MOD_CODE,len(modu))= '" & modu & "' and left(im.MOD_CODE,len(modu2))= '" & modu2 & "' ...

Vala
Jack
0
cs_bergamotte Messages postés 94 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 9 juin 2003
9 mai 2003 à 12:29
Je suis d'accord avec ce que vous dites mais le probleme c'est que losrque je l'ecris ainsi j'ai ce message d'erreur :

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'ismr.MOD_CODE = im.MOD_CODE and left(im.MOD_CODE,len(modu))= ''H'' and left(im.MOD_CODE,len(modu2))= ''Null'' and ismr.MAV_OCCUR = 'A''.
/Aurelie/modedit.asp, line 65

Oui en fait c'est du asp mais la requete est la meme qu'elle soit en asp ou en vba, je pense.

Donc en fait modu est une string que je recupere par l'intermediare de l'url.
Je ne sais pas comment rediger ca.

merci pour vos reponses

bergamotte :shy)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
9 mai 2003 à 12:45
Ce qui fait bizarre c'est tes guillemets dans ta requête. Normalement ce sont des quotes comme pour ismr.MAV_OCCUR = 'A'. t'es sûre que tu écris : left(im.MOD_CODE,len(modu))= ' " & modu & " ' ...

Si c'est un copier/coller de ton message d'erreur, ton left(im.MOD_CODE,len(modu))= ''H'' semble ne pas aller : tu as deux quotes au lieu d'une : ' ' H ' ' avec des espaces

ismr.MAV_OCCUR = '" & dboccur & "' est bon, inspires en toi

++
0
cs_bergamotte Messages postés 94 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 9 juin 2003
9 mai 2003 à 12:58
Je fais exactement la meme chose donc justement je pense que lorsaue je reccupere ma string elle doit deja avoir 'mastring', justement c'est tres bizard peut etre que je ne l'effecte pas comme il faut

modu=request.querystring("mod")

peut etre que je ne dois pas prendre la donnee comme ca ???

Je ne comprend rien techniquement ca devrait marcher mais la .....

merci pour ton aide

:dissapprove)

bergamotte :shy)
0
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
9 mai 2003 à 13:35
Le problème est que je ne connais pas bien request.querystring("mod"). Est ce que dans ton url tu as un truc du style mod='toto' ou mod=toto

regarde peut être :
http://www.laltruiste.com/document.php?url=http://www.laltruiste.com/coursasp/querystring.html
0
cs_bergamotte Messages postés 94 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 9 juin 2003
9 mai 2003 à 13:52
en fait j'ai compris ce qui ne va pas et c'est que dans mon url j'ai deja les guillemets donc maintenant j'essaie de trouver les moyens de les retirer

tu vois j'ai mod='toto'

donc j'aimerais trouver le moyen de retirer ' '
mais pour l'ainstant je n'y arrive pas j'obtiens mod='

si tu sais te servir left et instr tu peux m'aider ce serait avec plaisir que j'accepterais ton code.

voila ce que j'ai ce n'ai pas bon

modu=right(request.querystring("mod"),len(request.querystring("mod"))-InStr(1,request.querystring("mod"),"'")-1)

ca me donne '

youpi :-p

aussi aparrament je ne peux pas utiliser len(modu) dans ma requete ca ne lui plait pas pourtant j'ai regarde ca me donne bien le chiffre correspondant a la longueur de mod donc je ne sais pas comment faire ......

merci

bises

bergamotte :shy)
0
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
9 mai 2003 à 14:00
Je ne sais pas si ça marche en ASP mais essaye
modu=request.querystring("mod")

modu = Replace(modu "'", "") (ça remplace ' par rien)

avant de t'en servir dans ta requête.
0
cs_bergamotte Messages postés 94 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 9 juin 2003
9 mai 2003 à 14:18
merci je pense que ca devrait marcher mais en fait ce serait encore plus simple si je ne m'etais pas de ' ' dans l'url comme ca plus de pb

desolee je ne suis pas une fille tres logique generalement je vois d'abord tres complique et ensuite un peu plus simple et oui c'est pqs tres pratique ..........

merci pour ton aide normalement ca devrait marcher

bisous

bergamotte :shy)
0
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
9 mai 2003 à 14:26
Ben j'osais pas te le dire mais oui se serais plus simple sans les quotes.. Mais bon parfois il y a des contraintes qui ne dépendent pas de nous.

++
0
Rejoignez-nous