Problème requête SQL erreur '800a0cc1'

Résolu
shadowfox666 Messages postés 64 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 8 mars 2012 - 3 oct. 2007 à 09:45
shadowfox666 Messages postés 64 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 8 mars 2012 - 3 oct. 2007 à 22:15
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

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
3 oct. 2007 à 22:02
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"))
3
shadowfox666 Messages postés 64 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 8 mars 2012
3 oct. 2007 à 10:31
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 !
0
shadowfox666 Messages postés 64 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 8 mars 2012
3 oct. 2007 à 22:15
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 !
0
Rejoignez-nous