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

Messages postés
68
Date d'inscription
jeudi 5 avril 2007
Dernière intervention
8 mars 2012
- - Dernière réponse : shadowfox666
Messages postés
68
Date d'inscription
jeudi 5 avril 2007
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 !
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Dernière intervention
23 janvier 2016
20
3
Merci
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"))

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 117 internautes nous ont dit merci ce mois-ci

Commenter la réponse de yann_lo_san
Messages postés
68
Date d'inscription
jeudi 5 avril 2007
Dernière intervention
8 mars 2012
0
Merci
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 !
Commenter la réponse de shadowfox666
Messages postés
68
Date d'inscription
jeudi 5 avril 2007
Dernière intervention
8 mars 2012
0
Merci
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 !
Commenter la réponse de shadowfox666

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.