Alors j'ai essayé avec Access qui marche avec le code SQL suivant:
MAIS le problème c'est que si je peux mettre superieur ou égal à Capacité, je ne peux pas choisir d'afficher seulement les salles qui ont une visio, et toute les salles dans le cas suivant, alors que je voudrais justement pouvoir donner le choix à l'utilisateur: soit il choisit la visio et on lui affiche UNIQUEMENT les salles avec visio, soit il choisit "Sans opinion" et dans ce cas on lui affiche toutes les salles. Comment le coder puisque c'est en binaire ? Je change et je met en numérique ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT * FROM Salle WHERE (((Salle.lieu) = [Entrez la ville]) AND ((Salle.Visio) = [Entrer 0 ou 1 : 0 = false et -1 = true])) AND ((Salle.Capacite) >= [Entrez la capacité]) ORDER BY Salle.Visio, Salle.lieu;
Pareil pour les "non renseigné" des listes déroulante: si l"utilisateur laisse non renseigné, alors on doit lui afficher toutes les salles, mais quelle sera sa valeur "value" ?
Voici l'ASP:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 <% ' On récupère les infos du formulaire de saisie Set rs_choix = Server.CreateObject("ADODB.Recordset") sql = "Select * from Salle " 'Sélectionner tous les éléments de la salle dans la table salle sql = sql & "where 1 = 1 " 'pour que la condition soit toujours vraie if Len(Trim(request.form("S_Lieu"))) > 0 then 'Si l'utilisateur choisi un lieu sql = sql & "And Salle.Lieu = '" & request.form("S_Lieu") & "'" 'alors on rajoute le lieu à Where end if if Len(Trim(request.form("S_Cap"))) > 0 then 'Si l'utilisateur choisi une capacité sql = sql & " And Salle.Capacite = '" & request.form("S_Cap") & "'" 'alors on rajoute la capacité à Where end if if Len(Trim(request.form("S_Visio"))) = true then 'Si l'utilisateur veut la visio sql = sql & "And Salle.Visio = '" & request.form("S_Visio") & "'" 'alors on rajoute la visio à Where end if sql = sql & "Order By Salle.Visio, Salle.Lieu" 'ordonne par ordre alphabetique et par salle visio response.write "<table>" rs_choix.Open SQL,bd,3,3 if not rs_choix.eof then 'Si le choix correspond à* une requete do while not rs_choix.eof response.write "<tr><td>" & rs_choix("Nom") 'response.write "<tr><td>" & rs_choix("Nom") & "</td><td> " & rs_choix("Etage") & "</td><td> " & rs_choix("Lieu") & "</td><td> " & rs_choix("Capacite") & "</td><td> " & rs_choix("Visio") & "</td><td align=""center""> <input type=""radio"" name=""Salle"" value="" " & rs_choix("ID_Salle") & """/> </td></tr>" rs_choix.MoveNext loop response.write "</table>" else 'Sinon afficher un message d'erreur. response.write "<tr><td colspan=""3"" align=""center""><br/><b><font color=""red"">Aucune salle ne correspond à*vos critères, veuillez réitérer votre recherche.</font></b><br/> </td></tr>" end if rs_choix.Close set rs_choix = nothing %>
Partager