Moteur de recherche - Access

cs_ratch Messages postés 18 Date d'inscription dimanche 15 octobre 2000 Statut Membre Dernière intervention 13 juin 2002 - 18 avril 2002 à 12:12
IvanTheBlackDog Messages postés 39 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 31 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%>

<%RS.moveNext
wend
RS.close : Conn.close
end if

merci pour votre aide
Ratch

6 réponses

egrisel Messages postés 6 Date d'inscription jeudi 18 avril 2002 Statut Membre Dernière intervention 1 novembre 2002
18 avril 2002 à 12:34
Quel est le message d'erreur qui s'affiche ?

Le seul problème que j'ai vu est que tu ne lui demande pas d'afficher les résultats.
0
cs_ratch Messages postés 18 Date d'inscription dimanche 15 octobre 2000 Statut Membre Dernière intervention 13 juin 2002
18 avril 2002 à 12:59
erreur 500
impossible d'afficher la page
0
egrisel Messages postés 6 Date d'inscription jeudi 18 avril 2002 Statut Membre Dernière intervention 1 novembre 2002
18 avril 2002 à 16:44
Au moment ou tu "double les guillemets", tu réutilise la variable "search" au lieu de la variable "search2".

Je ne pense pas que ce soit ça qui crée le problème, mais ça fera toujours un bug de moins.

Je ne vois pas à quel moment tu utilises ta fonction "notag(txt)" ni à quoi elle sert vraiment.

A part ça je ne vois pas d'où peux venir l'erreur.
Désolé.
0
cs_rottweiler Messages postés 117 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 octobre 2013
20 avril 2002 à 00:33
il te manque le plus important



[linsting.asp?id=<%=RS( "
target="_blank"><%=RS("departement")%>] :
<%=LEFT(notag(RS("corps")),200)%>...


si je dit pas de betise
en tout cas pour moi il marche bien il est meme genial domage ici on a pas un trucs comme ca en plus simple .
0

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

Posez votre question
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
22 août 2004 à 08:14
GillesWebmaster :big)
www.gilles4.com
[mailto:Webmaster@gilles4.com Mon E-Mail]
0
IvanTheBlackDog Messages postés 39 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 31 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
0
Rejoignez-nous