Problème requête SQL erreur '800a0cc1' [Résolu]

Signaler
Messages postés
64
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
8 mars 2012
-
Messages postés
64
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
8 mars 2012
-
Bonjour,

Je suis en train de faire un script qui doit générer un fichier et y écrire à l'intérieur les résultats d'une requête de sélection.

Seulement je suis confronté à l'erreur suivante :
ADODB.Recordseterror '800a0cc1'

Impossible de trouver l'objet dans la collection correspondant au nom ou à la référence ordinale demandé.

Je n'ai pas réussi à trouver d'informations ou de pistes pouvant m'éclairer là dessus pour le moment.

Mon code :


sql = "SELECT categorie, table, table2 FROM liste_produits"

ReqSQLUn.Open sql, Myconn
if ReqSQLUn.EOF <gras>false and ReqSQLUn.BOF</gras> false Then

    do until ReqSQLUn.EOF

        tableun = ReqSQLUn("table")

        tabledeux = ReqSQLUn("table2")

        ' maintenant qu'on sait quelle table on va inclure dans la prochaine requete
        sql "SELECT * FROM " & tableun & " , " & tabledeux & " WHERE " & tableun & ".Marque" & " " & tabledeux & ".Marque"

        ReqSQLDeux.Open sql , Myconn

        ' on determine si on a des enregistrements
        if ReqSQLDeux.EOF  false AND ReqSQLDeux.BOF  false Then

            do until ReqSQLDeux.EOF

                ' Ecriture de chaque ligne dans la ressource FSO

            Fso.WriteLine(ReqSQLDeux("Designation") & " ; " & ReqSQLDeux("Marque") & " ; " & ReqSQLDeux("Prix"))  'C'est ICI qu'il y a une erreur apparemment

                ' et on passe au suivant jusqu a ce que la requete finisse

                ReqSQLDeux.MoveNext

            loop

        End If         

        ReqSQLDeux.Close  

        ' on ferme la requete

        ReqSQLUn.Movenext

    loop 

End if

Si je met la ligne où on m'indique qu'il y a une erreur n commentaire alors le script s'execute donc je pense qu'il n'y a que ça qui ne fonctionne pas.

Si vous avez une piste, une idée, une proposition, je suis de toute ouie !

3 réponses

Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
20
sql = "SELECT t1.Designation, t1.Marque as ALIAS_1,  t1.Prix FROM " & _
         tableun & " t1, " & tabledeux & " t2 " & _
         "WHERE t1.Marque  = t2.Marque"

   
Fso.WriteLine(ReqSQLDeux("Designation") & " ; " & _
                        ReqSQLDeux("ALIAS_1"
) & " ; " & _
                        ReqSQLDeux("Prix"))
Messages postés
64
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
8 mars 2012

Je crois que c'est parce que en fait la colonne Marque je dois l'appeler en faisant

Nomdelatable.Marque

sauf que je n'ai pas la moindre idée de comment je dois faire...

NIRVANA is never enough ! It' in the spirit !
Messages postés
64
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
8 mars 2012

Salut,

J'ai trouvé mais finalement c'est presque ça, c'est le SELECT * qui est à proscrire. Par contre je n'ai peu besoin de faire d'alias le simple fait d'indiquer de quelle table provient marque et ça suffit en bas lorsque l'on met ReqSQLDeux("Marque"
)

Merci beaucoup !

NIRVANA is never enough ! It' in the spirit !