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 :

Chaine de caractères incomplète


Sujet :

ASP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 40
    Points : 22
    Points
    22
    Par défaut Chaine de caractères incomplète
    Bonjour,
    Je suis parvenu à créer une zone de liste déroulante à partir d'une table Access, mais lorsque je veux récupérer ces valeurs par Request.Form dans une recherche, la chaine est incompète.
    Exemple: "Dictionnaires de traduction" devient "Dictionnaires", "Art, sport" devient "Art," etc

    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
    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
     
    <%
    	Call OpenConn(Conn)
     
    	Sub OpenConn(Conn)
    		strAccessDB = "sl_usuels.mdb"
    		ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & Server.MapPath(strAccessDB) & ";Jet OLEDB:Database Password=" & sPassword & ";"
     
    		Set Conn = Server.CreateObject("ADODB.Connection")
    		Conn.Open ConnString
    	End Sub
     
     
    	Sub CloseConn(Conn)
    	   Conn.Close
    	   Set Conn=Nothing
    	End Sub   
     
    	Function LoadOptions(QRY,Optcdu,Opt)
    	    SqlStr=QRY
    	 	Set Rs = Conn.Execute(SqlStr)
    	 	Do Until Rs.Eof
    		 	Response.Write "<option value=" & Rs(Opt) & ">" & Rs(Opt) & "</option>"
    			Rs.MoveNext
    	 	Loop   
    	 	Rs.Close
    	 	Set Rs=Nothing
    	End Function  
     
    %>
    <html>
     
    <head>
    		<title>Formulaire dynamique</title>
     
            </head>
    <body leftmargin="20" marginheight="0" marginwidth="0" topmargin="0">
     
    <div align="center">
    			<table width="32%" border="0" align="left" cellpadding="0" cellspacing="0">
     
     
    				<tr height="5">
    					<td height="5"></td>
    				</tr>
    				<tr>
    					<td > 
            <form method="POST" action="recherche.asp" name="recherche">
              <div align="center">
                <table border="0" width="98%" height="99">
                  <tr><td class="txtNormal">Usuels virtuels</td></tr>
    			  <tr>
                    <td width="45%" valign="top" height="25" class="txtNormal"><select name="section" size="1" id="section">
     
                        <%=LoadOptions("SELECT T_matieres.matiere FROM T_matieres GROUP BY T_matieres.cdu, T_matieres.matiere;",1,0)%> 
                      </select></td>
     
                  </tr>
    			  <tr>
                    <td width="45%" valign="top" height="67"><br>
                    <input type="submit" value="Envoyer" class="bouton">
                    </td>
                  </tr>
                </table>
              </div>
     
     
            </form>
            <p>&nbsp;</td>
        </tr>
     
      </table>
    </div>
    <%
    	Call CloseConn(Conn)
    %>
    </body>
     
    </html>
    Quelqu'un a-t-il une explication? Merci d'avance pour toute réponse, et bonne journée.

  2. #2
    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
    Bonjour,

    Et si tu essaies ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Do Until Rs.Eof
        %>
        <option value="<%=Rs(Opt)%>"> <%=Rs(Opt)%></option>
        <%
        Rs.MoveNext 
    Loop

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    ou ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Write "<option value=""" & Rs(Opt) & """>" & Rs(Opt) & "</option>"
    :

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 51
    Points : 40
    Points
    40
    Par défaut
    Salut

    Pour répondre à ta question "QQun a t il une explicaton ?" :

    Il m'est arrivé la même chose il n'y pas si longtemps... l'espace signifie pour lui la fin de la chaîne de caractère.
    Donc "Dictionnaires de traduc" devient systématiquement "Dictionnaires".

    Perso je m'en suis sorti en remplacant les espaces par des underscores... soit "Dictionnaires_de_traduction" , ca fait beaucoup moins jolis certes, mais ca evite bien des problèmes.

    Avec une petite fonction javascript c gérable ou pour les plus courageux le changement "à la mano" dans la base (si elle n'est pas trop volumineuse ) pense ensuite a insérer un contrôle de saisie empêchant de mettre des espaces lors d'un ajout dans la base.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 40
    Points : 22
    Points
    22
    Par défaut
    C'est la bonne solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Do Until Rs.Eof 
        %> 
        <option value="<%=Rs(Opt)%>"> <%=Rs(Opt)%></option> 
        <% 
        Rs.MoveNext 
    Loop
    Un grand merci!!! Bonne fin de journée à tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche de chaines de caractères incomplètes
    Par JeanYves91 dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 23/07/2014, 15h20
  2. Réponses: 9
    Dernier message: 23/12/2013, 16h40
  3. Réponses: 9
    Dernier message: 17/01/2003, 11h45
  4. Lire Une Chaine De Caractères
    Par Jonathan_Korvitch dans le forum C
    Réponses: 12
    Dernier message: 07/01/2003, 05h37
  5. Réponses: 2
    Dernier message: 06/12/2002, 07h50

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