cs_ratch
Messages postés18Date d'inscriptiondimanche 15 octobre 2000StatutMembreDernière intervention13 juin 2002
-
18 avril 2002 à 12:12
IvanTheBlackDog
Messages postés39Date d'inscriptionmardi 15 mars 2005StatutMembreDernière intervention31 juillet 2006
-
17 mai 2005 à 18:11
J'ai besoin d'aide - merci d'avance
Ma base access contient les coordonnées de personnes membres d'une association.
Le formulaire permet de rechercher un membre par le numéro de son département.
Etant donné que c'est une case de saisie, les internautes peuvent mettre un ou plusieurs départements.
Mon script ne fonctionne pas. Le voici :
search=request.form("search")
if search<>"" then
response.cookies("search")=search
response.cookies("search").expires=date+365
else
search = request.cookies("search")
if search <> "" then _
response.cookies("search").expires=date+365
end if
Function notag(txt)
dim regEx,temp
Set regEx = New RegExp
regEx.Global = True
regEx.Pattern = "<[^>]+>"
temp = regEx.REPLACE(txt,"")
temp = replace(temp,VbCrLf," ")
while instr(temp," ") > 0
temp = replace(temp," "," ")
wend
notag = temp
end function
if search<>"" then
' on transforme les + en espaces
search2 = REPLACE(search,"+"," ")
' on double les guillemets (Wargoat)
search2 = REPLACE(search,"'","''")
' on vire les espaces de début et de fin
search2 = TRIM(search2)
' on vire les double-espaces
while INSTR(search2," ") > 0
search2 = REPLACE(search2," "," ")
wend
end if
if search2<>"" then
%><!-- #include file="_connexion.asp"--><%
SQL = "SELECT * FROM annuaire"
SQL = SQL & " WHERE [departement] LIKE '%"
espace = "%' AND [departement] LIKE '%"
SQL = SQL & REPLACE(search2," ",espace)
SQL = SQL & "%' ORDER BY [id] DESC"
RS.Open SQL,Conn , 3, 3
while not RS.eof%>
IvanTheBlackDog
Messages postés39Date d'inscriptionmardi 15 mars 2005StatutMembreDernière intervention31 juillet 2006 17 mai 2005 à 18:11
Sinon tu peux remplacer dans ta requete SQL ton LIKE par un IN et demander au utilisateur de séparer les num de departement par une virgule et tu n'auras plus a te prendre la tete avec les séparateurs + qu'il mette si j'ai bien compris ton script.Bref ton script ressemblerais à :
SQL = "SELECT *
FROM annuaire
WHERE [departement] IN ("&search&")"
les utilisateurs taperont par exemple : 75005, 13002
Par contre cela ne fonctionne que si ton champ departement est en number (numeric sous access je crois)
______________________
Le Black Dog c'est moi