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 :

Ma requête me renvoi type mismatch


Sujet :

ASP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 57
    Points : 29
    Points
    29
    Par défaut Ma requête me renvoi type mismatch
    Bonjour,

    Voila deux jour que j'essai d'afficher le résultat d'une requete dans une pop up en vain voici mon 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
    if request.querystring("ph")="voir" then%>
    <td class="MenuEntete"><%=visuactivite%></td>
    </tr>
    <tr>
    <td style="Font-size:9px; color:#333333; height:20px; text-align:right;border-bottom:dashed 1px #FF6600">&nbsp;&nbsp;&nbsp;&nbsp;<%=date%></td>
    </tr>
    <%
    query="SELECT * FROM APPLOC_ActiviteREF"
    query=query&" WHERE nom='"&visuactivite&"'"
    response.Write(query& "<br>")
    		rs.open query,conn_stat
    			if not rs.eof then
    			ChampActivite=rs.getrows
    %>
    		<table>
    		<tr>
    		<td><%=ChampActivite%></td>
    		</tr>
    		</table>
    <%	
    			end if
    		rs.close
    end if
    Ma pop up s'ouvre bien et mon response.write m'affiche bien la requete cependant je me retrouve avec une erreur de type Mismatch que je n'arrive pas à résoudre merci de m'aider.
    Eric

  2. #2
    Membre actif Avatar de padodanle51
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 389
    Points : 230
    Points
    230
    Par défaut
    tu as regardé dans la FAQ ASP?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    Oui, j'ai essayé de m'inspirer de diverses recherches google faq et forum mais je ne trouve rien de bien concret j'ai modifier mon codes de diverses façons, en rajoutant un tableau ou bien en changeant les variables, rien n'y fait. J'ai remarqué en revanche que lorsque remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><%=ChampActivite%></td>
    par
    j'obtiens la première le champ de la première colonne mais les autres ne sont pas affichés.

  4. #4
    Membre actif Avatar de padodanle51
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 389
    Points : 230
    Points
    230
    Par défaut
    c'est normal tu pas en parametre 0 c'est donc normal que ça t'affiche la première ligne de ton tableau
    Essaye avec une boucle....

  5. #5
    Membre habitué Avatar de sab_etudianteBTS
    Inscrit en
    Juin 2006
    Messages
    211
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 211
    Points : 173
    Points
    173
    Par défaut
    Salut,
    A ta place, j'essaierais de faire une boucle pour afficher le resultat de ton recordset :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    While Not Rs.eof 
       response.write(Rs("champ1") & " " Rs("champ2"))
       ...
       Rs.movenext
    wend
    Voila j'espére que ca t'aidera!

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    J'ai déjà essayé mais ce n'est pas concluant j'ai toujours ce même tupe d'erreur. En revanche je viens de réessayer avec avec le rs(0) ça ne passe plus .

  7. #7
    Membre habitué Avatar de sab_etudianteBTS
    Inscrit en
    Juin 2006
    Messages
    211
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 211
    Points : 173
    Points
    173
    Par défaut
    Indique nous sur quelle ligne ca bloque et essaye de nous mettre un bout de ton code...

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    En passant par cette méthode j'obtiens bien l'enregistrement de la colonne mais j'aimerai savoir si il n'existe pas un moyen de ne pas passer par des
    rs(0) rs(1) rs(2) ....
    car la table en question peut être modifier par l'utilisateur et dans ce cas si il rajoute une colone il (lui ou un autre utilisateur) ne verra pas l'enregistrement qu'il aura rentré, il faudra donc changer systematiquement mon code.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    Voila 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
    query="SELECT * FROM APPLOC_ActiviteREF"
    query=query&" WHERE nom='"&visuactivite&"'"
    response.Write(query& "<br>")
    		rs.open query,conn_stat
    		While Not Rs.eof 
    %>
    		<table>
    		<tr>
    		<td><%=rs(0)%></td>
    		</tr>
    		</table>
    <%	
    		Rs.movenext
                             wend
    		rs.close
     
    end if

  10. #10
    Membre habitué Avatar de sab_etudianteBTS
    Inscrit en
    Juin 2006
    Messages
    211
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 211
    Points : 173
    Points
    173
    Par défaut
    Je ne vois pas ou est le problème...
    Si tu ne veux pas mettre Rs(0) tu n'a qu'à mettre Rs("nomDeTonChamp") à la place...

    Par contre une petite chose : Dans ta boucle tu refait a chaque fois un nouveau tableau, c'est volontaire? Parce que sinon tu devrais l'ouvrir et le fermer en dehors de la boucle. Ainsi tu ajoute a chaque fois une nouvelle ligne...

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    Ce que je veux par précedemment c'est que ma table pourra avoir des colonnes ajoutés par les utilisateur donc à chaque fois que ce sera fait il faudra que je rajoute un rs(quelquechose) pour que cette nouvelle colonne apparaisse dans mon affichage.

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Si tu veux afficher dynamiquement toutes les colonnes de tes enregistrements sans en connaitre le nombre, utilises un truc comme ça :

    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
     
                    for i = 0 to m_RS.Fields.count - 1
                        sLine = sLine & m_RS.Fields(i).Name
                    next
                    if sLine <> "" then
                        sLine = Left(sLine, Len(sLine) - 1)
                    end if
                    ' Données
                    Do Until m_RS.EOF
                        for i = 0 to m_RS.Fields.count - 1
                             sLine = sLine & m_RS.Fields(i).Value
                        next
                        if sLine <> "" then
                             sLine = Left(sLine, Len(sLine) - 1)
                        end if

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    En utilisant ce code il me détecte une erreur :
    Microsoft VBScript runtime error '800a01a8'

    Object required: ''

    /commun/indicateuractivite/voir.asp, line 73

    et ce code là est un peu compliqué pour moi merci quand même.

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    PS la ligne 73 c'est ça :

    for i = 0 to m_RS.Fields.count - 1

  15. #15
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!


    Tu devrais remplacer m_RS par rs puisque c'est sous ce nom que tu a créé ton objet recordset.

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    Non apparament ça ne passe pas le traitement de ma pop up boucle sans fin en revanche faut à un endroit que je fasse un response.write ou quelconque affichage?

  17. #17
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    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 ryan
    Yop!


    Tu devrais remplacer m_RS par rs puisque c'est sous ce nom que tu a créé ton objet recordset.
    Evident ! c'est un copier / coller violent que j'ai fait

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    Je suis vraiment désolé mais ce n'est pas concluant le problème est que je ne comprends pas très bien ce bout de code je n'arrive pas très bien à le reprendre et à le mettre en forme je vais essayer d'une autre façon merci pour l'aide.

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    L'idée est d'utiliser la propriété count de la collection Fields du recordset.

    Quand tu créé un recordset, tu peux connaitre le nombre de champs retournés en utilisant rs.Fields.count.
    A partir de là, tu peux faire une boucle sur ce nombre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for i = o to rs.Fields.count - 1
    .....
    et dans cette boucle, tu peux lire les valeurs des champs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for i = o to rs.Fields.count - 1
       response.write rs.Fields(i).value
    Next
    .....
    C'est plus clair ?

    Sinon, tu dis

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 57
    Points : 29
    Points
    29
    Par défaut
    Merci infiniement en effet j'y vois plus clair pour l'utilisation de ce code malheureusement, il doit persister quelque chose qui fait tourner en boucle puisque la page reste en perpetuel chargement mais aucun affiche que j'ai incrémenté avec un <td></td> html. Je reste convaincu malgré tout qu'il doit exister un moyen plus simple car la selection, c'est mon
    qui s'en charge au niveau affichage je trouve étrange qu'il ne parvienne pas à me récupérer mes valeurs, pour rappel voici mon code sensiblement modifié
    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
    if request.querystring("ph")="voir" then%>
    <td class="MenuEntete"><%=visuactivite%></td>
    </tr>
    <tr>
    <td style="Font-size:9px; color:#333333; height:20px; text-align:right;border-bottom:dashed 1px #FF6600">&nbsp;&nbsp;&nbsp;&nbsp;<%=date%></td>
    </tr>
    <%
    query="SELECT * FROM APPLOC_ActiviteREF"
    query=query&" WHERE nom='"&visuactivite&"'"
    response.Write(query& "<br>")
    		rs.open query,conn_stat
    		While Not Rs.eof 
    		for i=0 to Ubound (TabActivite)
    			'if not rs.eof then
    			'ChampActivite=rs.getrows
    %>
    		<table>
    		<tr>
    		<td><%=rs(i)%></td>
    		</tr>
    		</table>
    <%	
    			'end if
    		Rs.movenext
    		next
    		wend
    		rs.close
     
    end if
    et l'erreur qui s'y associe :
    27

    ADODB.Field error '80020009'

    Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

    /commun/indicateuractivite/voir.asp, line 0

    dans le cas présent il m'affiche le premier enregistrement de ma table. Le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    response.write(query& "<br>")
    est parfait.
    Et si je modifie mon code en mettant par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    ...
    			'if not rs.eof then
    			'ChampActivite=rs.getrows
    %>
    		<table>
    		<tr>
    		<td><%=rs(1)%><%=rs(2)%><%=rs(3)%>....</td>
    		</tr>
    		</table>
    <%	
    			'end if
    		Rs.movenext
    ...
    il m'affiche mes valeurs. Le problème est que c'est du dur.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Requête avec Data type mismatch in criteria expression
    Par Atom420 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 01/10/2007, 15h08
  2. erreur Data type mismatch in criteria expression
    Par bachilbouzouk dans le forum ASP
    Réponses: 3
    Dernier message: 20/04/2005, 12h48
  3. [LG]Problème "Type Mismatch"
    Par Aezar dans le forum Langage
    Réponses: 9
    Dernier message: 25/02/2005, 23h50
  4. Problème requête qui renvoie plusieurs
    Par dai.kaioh dans le forum Langage SQL
    Réponses: 6
    Dernier message: 01/04/2004, 11h07
  5. [LG]Type mismatch
    Par néo333 dans le forum Langage
    Réponses: 6
    Dernier message: 04/11/2003, 23h13

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