IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Application web réservation salles ASP


Sujet :

ASP

  1. #41
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Tu as lu mon message de 11h48 ?

  2. #42
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    Oui, pardon, à vouloir aller trop vite, je t'ai envoyé l'avant-dernière version (je garde des copies de mes erreurs et je l'avais pas enregistré là où je l'avais):

    Entre autre il y a à la fin ce que tu m'avais dis dans le message à savoir:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    rs_choix.Open SQL,bd,3,3
     
     
    	'Demande si l'utilisateur veut que sa salle soit affichée sur l'écran de l'accueil
     
    	if Len(request("CK_Affichage")) > 0 then											'Si oui
    			sql = sql & "and H_Affichage = '" & request.form("CK_Affichage") & " ' "    'alors on rajoute l'affichage Ã* Where
    	end if 
    	rs_choix.Close SQL,bd,3,3
    	set rs_choix = nothing
    Le reste était fais il me semble...

  3. #43
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Citation Envoyé par Yana20 Voir le message
    Oui, pardon, à vouloir aller trop vite, je t'ai envoyé l'avant-dernière version (je garde des copies de mes erreurs et je l'avais pas enregistré là où je l'avais):

    Entre autre il y a à la fin ce que tu m'avais dis dans le message à savoir:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    rs_choix.Open SQL,bd,3,3
     
     
    	'Demande si l'utilisateur veut que sa salle soit affichée sur l'écran de l'accueil
     
    	if Len(request("CK_Affichage")) > 0 then											'Si oui
    			sql = sql & "and H_Affichage = '" & request.form("CK_Affichage") & " ' "    'alors on rajoute l'affichage Ã* Where
    	end if 
    	rs_choix.Close SQL,bd,3,3
    	set rs_choix = nothing
    Le reste était fais il me semble...
    Tu ajoutes l'affichage dans la requête SQL alors qu'elle a déjà été exécutée quelques lignes avant !

  4. #44
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    J'ai beau eu mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    'Demande si l'utilisateur veut que sa salle soit affichée sur l'écran de l'accueil
     
    	if Len(request("CK_Affichage")) > 0 then											'Si oui
    			sql = sql & "and H_Affichage = '" & request.form("CK_Affichage") & " ' "    'alors on rajoute l'affichage Ã* Where
    	end if 
    	rs_choix.Close SQL,bd,3,3
    	set rs_choix = nothing
    avant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "order by ASC, R_Visio = 1"  														'ordonne par ordre alphabetique et par salle visio
    ça marche toujours pas... et même si je l'enleve ça change rien.

  5. #45
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Montre le code de la page en entier, stp.

  6. #46
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
     
    <%@ Language=VBScript %>
     
    <%if (session("ID_User") = "") then
           response.redirect "../index.asp"
    End if%>
     
    <html>
    <head>
    <!-- #include file="../../parametresAutan.asp"-->
           <title> Projet </title>
           <link rel="stylesheet" type="text/css" href="../../style.css" />
    	   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
           <script language="Javascript" src="../../javascript/javascript.js"></script>
     
    <script language="Javascript">
    function Dispo(type)
    {	
    	var salDi = "";
           for (i=0; i < document.F_Reserv.elements.length; i++)
           {
                   if (document.F_Reserv.elements[i].name.indexOf("R_Salle") >= 0 )
                   {
                           if (document.F_Reserv.elements[i].checked)
                           {
                                   sup_elt = salDi + document.F_Reserv.elements[i].value;
                           }
                   }
           }
           if (salDi.length <= 0)
           {
                   alert("Vous devez sélectionner une salle pour réserver !");
           }
          else
           {
    		   document.F_Reserv.submit();
           }
    }
     
     
     
    var arrayLignes = document.getElementById("Reservations").rows; 						//l'array est stocké dans une variable
    var longueur = arrayLignes.length;													//on peut donc appliquer la propriété length
    var i=1; 																			//on définit un incrémenteur qui représentera la clé
     
    while(i<longueur)
    {
     
    	if(i === 2) 																		 // si la ligne est égal à* 2 
    	{
    		arrayLignes[i].style.backgroundColor = "#008080";							    // alors la ligne 2 prend la couleur verte
    	}	
    	else if(i % 2 == 0)																   // si la clé est paire
    	{
    		arrayLignes[i].style.backgroundColor = "#bdcbf5";							  // alors la ligne prendra la couleur violet claire
    	}
    	else 																			 // elle est impaire
    	{
    		arrayLignes[i].style.backgroundColor = "#829eeb";							// alors la ligne prendra la couleur violet foncé
    	}
    	i++;
    }
    </script>
    </head>
    <body>
     <div id="conteneur">
                   <!-- #include file="../../javascript/calendrier1mois.asp"-->
                   <!-- #include file="../../MiseEnForme/header.asp"-->
                   <!-- #include file="../../MiseEnForme/menuHorizontal.asp"-->
                   <div id="conteneur2">
                           <!-- #include file="../../MiseEnForme/menuVerticalPrive.asp"-->
                           <div id="centre">
                           <form name="F_Reserv" method="post" action="recapReservationSalle.asp">
                           <input type="hidden" name="H_Lieu" value="<%=request.form("S_Lieu")%>" />
                           <input type="hidden" name="H_Cap" value="<%=request.form("S_Cap")%>" />
    					   <input type="hidden" name="H_Visio" value= "<%=request.form("S_Visio")%>"/>
    					   <input type="hidden" name="H_Comment" value="<%=request.form("T_Comment")%>" />
    					   <input type="hidden" name="H_Affichage" value="<%=request.form("CK_Affichage")%>"/>
    					   <input type="hidden" name="H_Salle" />
                           <center>
                           <!-- response.write rs_choixSalle("Salle") & rs_choixSalle("Lieu") & rs_choixSalle("S_Cap") & rs_choixSalle("S_Visio") %> -->
     
    				       <br/><br/>
                           <table class="miniCorps" width="800">
                                   <tr>
                                           <td colspan="6" class="entete"> Liste des salles disponibles </td>
                                   </tr>
                                   <tr align="center">
                                           <td width="175">
                                                   <b>Salle</b>
                                           </td>
     
    									   <td width="175">
                                                   <b>Etage</b>
                                           </td>
     
    									   <td width="175">
                                                   <b>Localisation</b>
                                           </td>
     
    									   <td width="175">
                                                   <b>Capacité</b>
                                           </td>
     
    									   <td width="175">
                                                   <b>Info</b>
                                           </td>	
     
                                           <td width="100">
                                                   <b>Réserver</b>
                                           </td>
                                   </tr>
     
                                           <tr><td>&nbsp;</td><tr>
                                           <tr>
                                                   <td colspan="6" align="center">
                                                           <input type="button" name="B_Dispo" value="Voir les disponibilités" onclick="Dispo('');" />
                                                           <br/>&nbsp;
                                                   </td>
                                           </tr>
     
    						</table>
                           </center>
                           </form>
                           </div>
                   </div>
           </div>
    </body>
    </html>
     
    <%
    ' On récupère les infos du formulaire de saisie
    	'sql = ""																					'Pour les espaces... mais vu que c'est dans une liste déroulante pas besoin
     
    	Set rs_choix = Server.CreateObject("ADODB.Recordset")
    	sql = "Select * from Salle S " 																'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 H_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 H_Cap = '" & request.form("S_Cap") & "' " 								'alors on rajoute la capacité à Where
    	end if
     
    	if Len(Trim(request.form("S_Visio"))) > 0 then 				  							'Si l'utilisateur veut la visio
    		sql = sql & "and H_Visio = '" & request.form("S_Visio") & "' "							'alors on rajoute la visio à Where  			
    	end if
    																							'Demande si l'utilisateur veut que sa salle soit affichée sur l'écran de l'accueil
    	'if Len(request("CK_Affichage")) > 0 then													'Si oui
    	'		sql = sql & "and H_Affichage = '" & request.form("CK_Affichage") & " ' "    			'alors on rajoute l'affichage Ã* Where
    	'end if 
     
    	sql = "order by ASC, R_Visio = 1"  														'ordonne par ordre alphabetique et par salle visio
     
     	if not rs_choix.eof then																'Si le choix correspond à* une requete
     
    		do while not rs_choix.eof
     
    			response.write "<tr><td>" & rs_choix("S.Nom") & "</td><td> " & rs_choix("S.Etage") & "</td><td> " & rs_choix("S.Lieu") & "</td><td> " & rs_choix("S.Capacite") & "</td><td> " & rs_choix("S.Visio") & "</td><td align=""center""> <input type=""radio"" name=""R_Salle"" value="" " & rs_choix("ID_Salle") & " "" /></td></tr>" 
    			rs_choix.MoveNext
     
    		loop
     
    	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/>&nbsp;</td></tr>"
     
    	end if	
    	rs_choix.Open SQL,bd,3,3
    	rs_choix.Close SQL,bd,3,3
    	set rs_choix = nothing
    %>

  7. #47
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Il faut que la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    rs_choix.Open SQL,bd,3,3
    soit placée avant de tester le eof. C'est cette commande qui exécute la requête et rempli le recordset.

    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
    46
     
    <%
    ' On récupère les infos du formulaire de saisie
    	'sql = ""																					'Pour les espaces... mais vu que c'est dans une liste déroulante pas besoin
     
    	Set rs_choix = Server.CreateObject("ADODB.Recordset")
    	sql = "Select * from Salle S " 																'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 H_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 H_Cap = '" & request.form("S_Cap") & "' " 								'alors on rajoute la capacité à Where
    	end if
     
    	if Len(Trim(request.form("S_Visio"))) > 0 then 				  							'Si l'utilisateur veut la visio
    		sql = sql & "and H_Visio = '" & request.form("S_Visio") & "' "							'alors on rajoute la visio à Where  			
    	end if
    																							'Demande si l'utilisateur veut que sa salle soit affichée sur l'écran de l'accueil
    	'if Len(request("CK_Affichage")) > 0 then													'Si oui
    	'		sql = sql & "and H_Affichage = '" & request.form("CK_Affichage") & " ' "    			'alors on rajoute l'affichage Ã* Where
    	'end if 
     
    	sql = "order by ASC, R_Visio = 1"  														'ordonne par ordre alphabetique et par salle visio
     
    	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("S.Nom") & "</td><td> " & rs_choix("S.Etage") & "</td><td> " & rs_choix("S.Lieu") & "</td><td> " & rs_choix("S.Capacite") & "</td><td> " & rs_choix("S.Visio") & "</td><td align=""center""> <input type=""radio"" name=""R_Salle"" value="" " & rs_choix("ID_Salle") & " "" /></td></tr>"
    			rs_choix.MoveNext
     
    		loop
     
    	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/>&nbsp;</td></tr>"
     
    	end if
    	rs_choix.Close SQL,bd,3,3
    	set rs_choix = nothing
    %>

  8. #48
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    Okay je pensais que tu parlais du if affichage autant pour moi.

    Mais il n'y a pas d'améliorations:

    Le message d'erreur:

    Microsoft OLE DB Provider for ODBC Drivers erreur '80040e14'

    [Microsoft][Pilote ODBC Microsoft Access] Instruction SQL non valide; 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' ou 'UPDATE' attendus.

    /Reservation/choixV.asp, ligne 132


    Ligne 132 qui renvoie toujours à la fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function ds_gettop(el) 
    {
    	var tmp = el.offsetTop;
    	el = el.offsetParent
    	while(el) 
    	{
    		tmp += el.offsetTop;
    		el = el.offsetParent;
    	}
    	return tmp;
    }

  9. #49
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Ce message d'erreur indique clairement une erreur de syntaxe dans la requête SQL.
    Avant la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    rs_choix.Open SQL,bd,3,3
    Peux-tu ajouter cette ligne et poster le résultat ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    response.write sql

  10. #50
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    Le résultat:

    order by ASC, R_Visio = 1
    Microsoft OLE DB Provider for ODBC Drivers erreur '80040e14'

    [Microsoft][Pilote ODBC Microsoft Access] Instruction SQL non valide; 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' ou 'UPDATE' attendus.

    /Reservation/choix.asp, ligne 155

    et si je mets en commentaire le order by ça me donne une nouvelle erreur:

    Select * from Salle S where 1 = 1 and H_Lieu = '1' and H_Cap = '1' and H_Visio = 'SO'
    Microsoft OLE DB Provider for ODBC Drivers erreur '80040e10'

    [Microsoft][Pilote ODBC Microsoft Access] Trop peu de paramètres. 3 attendu.

    /Reservation/choix.asp, ligne 155

  11. #51
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Déjà, il faut que tu mettes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sql = sql & "order by ASC, R_Visio"
    Ensuite, essaye de tester cette requête directement dans Access.

  12. #52
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    Oui, j'ai changé après avoir posté ^^ Je commence à comprendre maintenant !

    D'accord, je testerai ça ce week-end ! Je te remercie pour tes réponses (et ta grande patience) et je te donne des nouvelles dès que c'est fait

    Bon week-end !

  13. #53
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    Bonjour !

    Alors j'ai testé sur le Access avec cette requête SQL:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT * 
    FROM Salle 
    WHERE (Salle.Lieu <> null )
    AND (Salle.Capacite > 0)
    ORDER BY Salle.Visio = true, Salle.lieu;
    Et il me donne bien le résultat. Du coup j'ai changé deux/trois choses de mon code (exemple au lieu de mettre Order By S_Visio = 1, ASC j'ai plutôt mis Order by S_Visio = true, S_Lieu. J'ai également changé la base de données des Capacité vu que c'était en texte et non en numérique (du coup au lieu d'afficher "12 personnes" il n'y aura que 12 parce que j'ai pas trouver pour convertir un texte). Mais il n'en reste pas moins que ça ne marche toujours pas, et ça me met la même erreur qu'avant.


    Voici le code:

    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
    46
    47
    48
     
    <%
    ' On récupère les infos du formulaire de saisie
    	'sql = ""																					'Pour les espaces... mais vu que c'est dans une liste déroulante pas besoin
     
    	Set rs_choix = Server.CreateObject("ADODB.Recordset")
    	sql = "Select * from Salle S " 																'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 & "Where H_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 H_Cap = '" & 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 H_Visio = '" & request.form("S_Visio") & "' "							'alors on rajoute la visio à Where  			
    	end if
    																							'Demande si l'utilisateur veut que sa salle soit affichée sur l'écran de l'accueil
    	'if Len(request("CK_Affichage")) > 0 then													'Si oui
    	'		sql = sql & "and H_Affichage = '" & request.form("CK_Affichage") & " ' "    			'alors on rajoute l'affichage Ã* Where
    	'end if 
     
    	sql = sql & "order by S_Visio = true, S_Lieu;"  														'ordonne par ordre alphabetique et par salle visio
     
    	response.write sql
     
    	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("S.Nom") & "</td><td> " & rs_choix("S.Etage") & "</td><td> " & rs_choix("S.Lieu") & "</td><td> " & rs_choix("S.Capacite") & "</td><td> " & rs_choix("S.Visio") & "</td><td align=""center""> <input type=""radio"" name=""R_Salle"" value="" " & rs_choix("ID_Salle") & " "" /></td></tr>" 
    			rs_choix.MoveNext
     
    		loop
     
    	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/>&nbsp;</td></tr>"
     
    	end if	
     
    	rs_choix.Close SQL,bd,3,3
    	set rs_choix = nothing
    %>

  14. #54
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Citation Envoyé par Yana20 Voir le message
    Bonjour !

    Alors j'ai testé sur le Access avec cette requête SQL:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT * 
    FROM Salle 
    WHERE (Salle.Lieu <> null )
    AND (Salle.Capacite > 0)
    ORDER BY Salle.Visio = true, Salle.lieu;
    Et il me donne bien le résultat. Du coup j'ai changé deux/trois choses de mon code (exemple au lieu de mettre Order By S_Visio = 1, ASC j'ai plutôt mis Order by S_Visio = true, S_Lieu. J'ai également changé la base de données des Capacité vu que c'était en texte et non en numérique (du coup au lieu d'afficher "12 personnes" il n'y aura que 12 parce que j'ai pas trouver pour convertir un texte). Mais il n'en reste pas moins que ça ne marche toujours pas, et ça me met la même erreur qu'avant.


    Voici le code:

    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
    46
    47
    48
     
    <%
    ' On récupère les infos du formulaire de saisie
    	'sql = ""																					'Pour les espaces... mais vu que c'est dans une liste déroulante pas besoin
     
    	Set rs_choix = Server.CreateObject("ADODB.Recordset")
    	sql = "Select * from Salle S " 																'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 & "Where H_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 H_Cap = '" & 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 H_Visio = '" & request.form("S_Visio") & "' "							'alors on rajoute la visio à Where  			
    	end if
    																							'Demande si l'utilisateur veut que sa salle soit affichée sur l'écran de l'accueil
    	'if Len(request("CK_Affichage")) > 0 then													'Si oui
    	'		sql = sql & "and H_Affichage = '" & request.form("CK_Affichage") & " ' "    			'alors on rajoute l'affichage Ã* Where
    	'end if 
     
    	sql = sql & "order by S_Visio = true, S_Lieu;"  														'ordonne par ordre alphabetique et par salle visio
     
    	response.write sql
     
    	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("S.Nom") & "</td><td> " & rs_choix("S.Etage") & "</td><td> " & rs_choix("S.Lieu") & "</td><td> " & rs_choix("S.Capacite") & "</td><td> " & rs_choix("S.Visio") & "</td><td align=""center""> <input type=""radio"" name=""R_Salle"" value="" " & rs_choix("ID_Salle") & " "" /></td></tr>" 
    			rs_choix.MoveNext
     
    		loop
     
    	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/>&nbsp;</td></tr>"
     
    	end if	
     
    	rs_choix.Close SQL,bd,3,3
    	set rs_choix = nothing
    %>
    Bonjour,

    Il y a quelque chose que je ne comprends pas.

    Tu testes cette requête qui apparemment fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT * 
    FROM Salle 
    WHERE (Salle.Lieu <> null )
    AND (Salle.Capacite > 0)
    ORDER BY Salle.Visio = true, Salle.lieu;
    Pourquoi dans ton code, tu utilises des noms de champ différents ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sql = sql & "Where H_Lieu = '" & request.form("S_Lieu") & "' "
    sql = sql & "and H_Cap = '" & request.form("S_Cap") & "' "
    etc, ...

  15. #55
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    Il s'agit du HTML:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     <div id="centre">
                        <form name="F_Reserv" method="post" action="recapReservationSalle.asp">
                        <input type="hidden" name="H_Lieu" value="<%=request.form("S_Lieu")%>" />
                        <input type="hidden" name="H_Cap" value="<%=request.form("S_Cap")%>" />
    					<input type="hidden" name="H_Visio" value= "<%=request.form("S_Visio")%>"/>
    					<input type="hidden" name="H_Comment" value="<%=request.form("Comment")%>" />
    					<!-- <input type="hidden" name="H_Affichage" value="<%=request.form("CK_Affichage")%>"/> -->
    					<input type="hidden" name="H_Salle" />
                 <center>
    J'ai gardé le principe qu'avait fait l'ancienne personne pour les dates... Mais même en mettant uniquement "Lieu" "Capacite" etc... ça ne marche pas.

  16. #56
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Quelle est la description de ta table "Salle" (Nom des champs, type, longueur) ?

  17. #57
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    Id_Salle, NumeroAuto
    Nom, Texte, 30
    Etage, Texte, 50
    Visio, Oui/Non avec l'expression Vrai/Faux
    Lieu, Texte, 50
    Capacite, Numérique (sachant que je ne sais pas comment le mettre en texte pour qu'ensuite il reconnaisse les chiffres donc plus simple de mettre en numérique).

    Tu as une idée ? Tu penses que ça vient d'où ?

  18. #58
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Alors, je répète ma question :

    Pourquoi tu n'utilises pas les noms de champ de ta table quand tu construis ta requête ?

  19. #59
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 8
    Points
    8
    Par défaut
    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
     
     
    ' On récupère les infos du formulaire de saisie
    	'sql = ""																					'Pour les espaces... mais vu que c'est dans une liste déroulante pas besoin
     
    	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 & "Where 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
    																							'Demande si l'utilisateur veut que sa salle soit affichée sur l'écran de l'accueil
    	'if Len(request("CK_Affichage")) > 0 then													'Si oui
    	'		sql = sql & "and H_Affichage = '" & request.form("CK_Affichage") & " ' "    			'alors on rajoute l'affichage Ã* Where
    	'end if 
     
    	sql = sql & "Order By Salle.Visio = true, Salle.Lieu"  														'ordonne par ordre alphabetique et par salle visio
    	%>
    J'ai changé le code tout à l'heure et peut être que je n'ai pas attendu assez longtemps mais ça ne faisait pas de changement.
    Cependant, maintenant que j'ai changé, il me met un mixte de ça marche/ça marche pas:

    Select * from Salle Where Salle.Lieu = '8 ' And Salle.Capacite = '1 ' Order By Salle.Visio = true, Salle.Lieu
    Aucune salle ne correspond à vos critères, veuillez réitérer votre recherche.

    Microsoft VBScript runtime erreur '800a01c2'

    Wrong number of arguments or invalid property assignment: 'Close'

    /Reservation/choix.asp, ligne 171

    Voilà l'erreur sachant que le message d'erreur ne devrait pas s'afficher ici d'une part, et ne devrait pas s'affiche du tout puisque les données que j'ai rentrées donnent des résultats !

  20. #60
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Tu as des espaces en trop après le 8 et après le 1.
    Je vois aussi une erreur dans le order by

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Select * from Salle Where Salle.Lieu = '8 ' And Salle.Capacite = '1 ' Order By Salle.Visio = true, Salle.Lieu
    Ca devrait être mieux comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Select * from Salle Where Salle.Lieu = '8' And Salle.Capacite = '1' Order By Salle.Visio, Salle.Lieu
    Enfin, la ligne 46 :

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 8 PremièrePremière 1234567 ... DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/05/2009, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo