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 :

Probleme boucle If recherche dans base access


Sujet :

ASP

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 18
    Points : 15
    Points
    15
    Par défaut Probleme boucle If recherche dans base access
    Bonjour à tous,
    j'ai un petit probleme avec mes boucles if !!!
    le code suivant ne recherche pas la valeur dans la base. Si je retire l'une des deux boucles de recherche cela fonctionne .....
    quelqu'un aurait un ptite idée de ce qui se passe ?
    MErci d'avance pour votre aide

    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
    <table id="resultab">
     
    		<tr class="textebleu">
        <td width="58">frfr  </td>
    	<td width="58"> &nbsp;vfdvdf</td>
    	<td width="58"> &nbsp;dfvd</td>
    	<td width="58"> &nbsp;dfvd</td>
    	<td width="58"> &nbsp;df</td>
    	<td width="58"> &nbsp;dfv</td>
    	<td width="58"> &nbsp;fdv</td>
    	<td width="58"> &nbsp;dfv</td>
    	<td width="58"> &nbsp;dfvdf</td>
    	<td width="58"> &nbsp;cxvx</td>
    	<td width="58"> &nbsp;lio</td>
    	<td width="58"> &nbsp;bvc</td>
      </tr>
     
    		  <%
    'Dans la m&ecirc;me page nomm&eacute; mapage.asp &agrave; la suite du formulaire
    if request("ok") = "Fef" then
    Recordset1__MMColParam = Request("trouvertexte")
     response.write ("essai")  
    'Connexion &agrave; la BD :
    DSN_BASE = "DBQ=" & Request.ServerVariables("APPL_PHYSICAL_PATH") & "bdd\fef.mdb" & ";Driver={Microsoft Access Driver (*.mdb)};Driverld=25"
     
    'Creation du recordset
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open DSN_BASE
    Set RS = Server.CreateObject("ADODB.Recordset")
     
    'Requete sql
    Sql="SELECT * FROM Produits WHERE Marque LIKE '%"& Replace(Recordset1__MMColParam, "'", "''") &"%'"
    Rs.open Sql, conn
    end if
    if request("ok") = "Rubrique" then
    Recordset1__MMColParam = Request("rubrique")
     
    'Connexion &agrave; la BD :
    DSN_BASE = "DBQ=" & Request.ServerVariables("APPL_PHYSICAL_PATH") & "bdd\fef.mdb" & ";Driver={Microsoft Access Driver (*.mdb)};Driverld=25"
     
    'Creation du recordset
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open DSN_BASE
    Set RS = Server.CreateObject("ADODB.Recordset")
     
    'Requete sql
    Sql="SELECT * FROM Produits WHERE Catégorie LIKE '%"& Replace(Recordset1__MMColParam, "'", "''") &"%'"
    Rs.open Sql, conn	
     
     
     if rs.eof then 
       'si il n'y a pas d'enregistrement r&eacute;pondant &agrave; la requete alors :
       Response.write "Aucun r&eacute;sultat correspondant &agrave; votre recherche"
     else 
     
     
     
     
      'si r&eacute;sultat trouver on affiche tous les r&eacute;sultats, on n'est pas cens&eacute; savoir cb d'enregistrement il existe dans la table
        do while not rs.eof 
       %>
     
     
     
      <tr class="textebleu">
        <td colspan="4"><img src="image/resulbleu256px1px.jpg" width="256" height="1"></td>
        <td colspan="4">&nbsp;</td>
        <td colspan="4"><img src="image/resulrouge256px1px.jpg" width="256" height="1"></td>
        </tr>
      <tr class="textebleu">
        <td width="58"> <% response.write rs(2) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(3) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(4) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(5) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(6) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(7) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(8) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(9) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(10) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(11) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(12) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(13) &vbcrlf %> &nbsp;</td>
      </tr>
     
     
    	 <%
     
       rs.movenext
       loop
     end if
     Set RS = Nothing
     Conn.Close
     Set Conn = Nothing
     
    end if
    %>
    </table>

  2. #2
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    Bonjour

    Ce qu'il se passe, c'est que dans ton premier test (on ne parle pas de "boucle if", mais de "test", les boucles, c'est pour ... boucler, comme par exemple avec do ... loop), il ne se passe rien :

    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
    if request("ok") = "Fef" then
            Recordset1__MMColParam = Request("trouvertexte")
             response.write ("essai")  
       'Connexion &agrave; la BD :
       DSN_BASE = "DBQ=" & Request.ServerVariables("APPL_PHYSICAL_PATH") & "bdd\fef.mdb" & ";Driver={Microsoft Access Driver (*.mdb)};Driverld=25"
     
            'Creation du recordset
       Set Conn = Server.CreateObject("ADODB.Connection")
       Conn.Open DSN_BASE
       Set RS = Server.CreateObject("ADODB.Recordset")
     
       'Requete sql
       Sql="SELECT * FROM Produits WHERE Marque LIKE '%"&    Replace(Recordset1__MMColParam, "'", "''") &"%'"
       Rs.open Sql, conn
    end if
    Ton affichage ne se fait que si la deuxième condition est réalisée.
    if request("ok") = "Rubrique" then
    Il faut donc que tu revoie les imbrications de tes if

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 18
    Points : 15
    Points
    15
    Par défaut
    En fait j'ai essayé de nombreuses possibilités pour les tests et cela ne fonctionne jamais avec les deux tests ensemble. Si je mets en commentaire l'un des tests l'autre fonctionne mais jamais les deux en même temps !!!!!
    Je vais encore chercher ............

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 18
    Points : 15
    Points
    15
    Par défaut
    Voila un nouveau code qui a marché toute la soirée d'hier et aujourd'hui lorsque je relance la page et bien je me retrouve avec l'erreur suivante :
    Erreur d'exécution Microsoft VBScript erreur '800a01a8'
    Objet requis: 'RS'
    /tri8.asp, ligne 126

    .... quelqu'un a une idée sur le problème dans 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
    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
    <%
    'Dans la m&ecirc;me page nomm&eacute; mapage.asp &agrave; la suite du formulaire
    if request("ok") = "Fef" then
    Recordset1__MMColParam = Request("trouvertexte")
     
    'Connexion &agrave; la BD :
    DSN_BASE = "DBQ=" & Request.ServerVariables("APPL_PHYSICAL_PATH") & "bdd\fef.mdb" & ";Driver={Microsoft Access Driver (*.mdb)};Driverld=25"
     
    'Creation du recordset
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open DSN_BASE
    Set RS = Server.CreateObject("ADODB.Recordset")
     
    'Requete sql
    Sql="SELECT * FROM Produits WHERE Marque LIKE '%"& Replace(Recordset1__MMColParam, "'", "''") &"%'"
    Rs.open Sql, conn
    else 
    if request("ok") = "rubrique" then
    Recordset1__MMColParam = Request("rubrique")
     
    'Connexion &agrave; la BD :
    DSN_BASE = "DBQ=" & Request.ServerVariables("APPL_PHYSICAL_PATH") & "bdd\fef.mdb" & ";Driver={Microsoft Access Driver (*.mdb)};Driverld=25"
     
    'Creation du recordset
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open DSN_BASE
    Set RS = Server.CreateObject("ADODB.Recordset")
     
    'Requete sql
    Sql="SELECT * FROM Produits WHERE Categorie LIKE '%"& Replace(Recordset1__MMColParam, "'", "''") &"%'"
    Rs.open Sql, conn
     
    end if
    end if
     if rs.eof then 
       'si il n'y a pas d'enregistrement r&eacute;pondant &agrave; la requete alors :
       Response.write "Aucun r&eacute;sultat correspondant &agrave; votre recherche"
     else %>
     
     
     
           <% 
      'si r&eacute;sultat trouver on affiche tous les r&eacute;sultats, on n'est pas cens&eacute; savoir cb d'enregistrement il existe dans la table
        do while not rs.eof 
       %>
     
     
     
      <tr class="textebleu">
        <td colspan="4"><img src="image/resulbleu256px1px.jpg" width="256" height="1"></td>
        <td colspan="4">&nbsp;</td>
        <td colspan="4"><img src="image/resulrouge256px1px.jpg" width="256" height="1"></td>
        </tr>
      <tr class="textebleu">
        <td width="58"> <% response.write rs(2) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(3) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(4) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(5) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(6) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(7) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(8) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(9) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(10) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(11) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(12) &vbcrlf %> &nbsp;</td>
    	<td width="58"><% response.write rs(13) &vbcrlf %> &nbsp;</td>
      </tr>
     
     
    	 <%
     
       rs.movenext
       loop
     end if
     Set RS = Nothing
     Conn.Close
     Set Conn = Nothing
    %>

  5. #5
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    Bonjour

    Forcément !

    Si request("ok") n'est ni "fef", ni "rubrique", la première instruction qu'il rencontre (je parie que c'est la ligne 126), c'est :

    et paf! rs n'est pas déclaré, car cette instruction est en dehors du if dans lequel il a été créé.

    Un petit coup de main ?

    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
    <%
    'Dans la m&ecirc;me page nomm&eacute; mapage.asp &agrave; la suite du formulaire
    if request("ok") = "Fef" or request("ok") = "rubrique" then
        'Connexion &agrave; la BD :
        DSN_BASE = "DBQ=" & Request.ServerVariables("APPL_PHYSICAL_PATH") & "bdd\fef.mdb" & ";Driver={Microsoft Access Driver (*.mdb)};Driverld=25"
        Set Conn = Server.CreateObject("ADODB.Connection")
        Conn.Open DSN_BASE
        'Creation du recordset
        Set RS = Server.CreateObject("ADODB.Recordset")
        if request("ok") = "Fef" then
            Recordset1__MMColParam = Request("trouvertexte")
     
            'Requete sql
            Sql="SELECT * FROM Produits WHERE Marque LIKE '%"& Replace(Recordset1__MMColParam, "'", "''") &"%'"
            Rs.open Sql, conn
        else 
            if request("ok") = "rubrique" then
                Recordset1__MMColParam = Request("rubrique")
     
                'Requete sql
                Sql="SELECT * FROM Produits WHERE Categorie LIKE '%"& Replace(Recordset1__MMColParam, "'", "''") &"%'"
                Rs.open Sql, conn
     
            end if
        end if
        if not rs.eof then 
           'si il n'y a pas d'enregistrement r&eacute;pondant &agrave; la requete alors :
         Response.write "Aucun r&eacute;sultat correspondant &agrave; votre recherche"
         while not rs.eof 
       %>
     
     
     
      <tr class="textebleu">
        <td colspan="4"><img src="image/resulbleu256px1px.jpg" width="256" height="1"></td>
        <td colspan="4">&nbsp;</td>
        <td colspan="4"><img src="image/resulrouge256px1px.jpg" width="256" height="1"></td>
        </tr>
      <tr class="textebleu">
        <td width="58"> <% response.write rs(2) &vbcrlf %> &nbsp;</td>
        <td width="58"><% response.write rs(3) &vbcrlf %> &nbsp;</td>
        <td width="58"><% response.write rs(4) &vbcrlf %> &nbsp;</td>
        <td width="58"><% response.write rs(5) &vbcrlf %> &nbsp;</td>
        <td width="58"><% response.write rs(6) &vbcrlf %> &nbsp;</td>
        <td width="58"><% response.write rs(7) &vbcrlf %> &nbsp;</td>
        <td width="58"><% response.write rs(8) &vbcrlf %> &nbsp;</td>
        <td width="58"><% response.write rs(9) &vbcrlf %> &nbsp;</td>
        <td width="58"><% response.write rs(10) &vbcrlf %> &nbsp;</td>
        <td width="58"><% response.write rs(11) &vbcrlf %> &nbsp;</td>
        <td width="58"><% response.write rs(12) &vbcrlf %> &nbsp;</td>
        <td width="58"><% response.write rs(13) &vbcrlf %> &nbsp;</td>
      </tr>
     
     
         <%
     
       rs.movenext
       wend
        else    
        Response.write "Aucun r&eacute;sultat correspondant &agrave; votre recherche"
     Set RS = Nothing
     Conn.Close
     Set Conn = Nothing
     
    end if

  6. #6
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 18
    Points : 15
    Points
    15
    Par défaut
    Bon et bien je déclare officiellement roro06 le
    et surtout un grand merci pour votre aide
    AFFAIRE CLASSEE ça marche impec

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

Discussions similaires

  1. [ODBC] Formulaire de recherche dans base ACCESS via PHP
    Par bib.13 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 02/06/2008, 14h06
  2. Probleme insertion données dans base ACCESS
    Par Ice-tea dans le forum SGBD
    Réponses: 7
    Dernier message: 20/08/2007, 14h38
  3. probleme recherche dans base de donnée
    Par 0kiss0 dans le forum ASP
    Réponses: 3
    Dernier message: 16/04/2007, 18h50
  4. recherche par mots-clés dans base access
    Par syber72 dans le forum Access
    Réponses: 2
    Dernier message: 07/03/2006, 13h53
  5. Recherche dans base access
    Par VARACH dans le forum VBA Access
    Réponses: 5
    Dernier message: 09/01/2006, 08h17

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