Incompatibilité de types?!?

Signaler
Messages postés
109
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
4 juin 2008
-
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007
-
J'ai une bibliothèque appelée "modules.asp" ou se trouvent diverses fonctions dont ma fonction "recSelect(sql)" qui me renvoie un recordset du sql entré en paramètre, voilà le code :

<%
Function recSelect(sql)
Dim rsQuery 'as ADODB.Recordset
Set rsQuery=Server.CreateObject("ADODB.Recordset")
rsQuery.Open sql,Application("connect")
return(rsQuery)
End Function
%>

Application("connect") est une variable de type Connection...

Dans mon programme principal, j'ai fait un "<!--#include file="modules.asp"-->" au tout début pour éviter d'avoir des erreurs...
Pourtant, il me génère une erreur quand je lance ma page asp principale. En effet, voilà ce qu'il y a (brièvement) dans ma page principale :

<!--#include file="modules.asp"-->
<% Dim rsClients
rsClients=recSelect("SELECT * FROM Client")
%>
<HTML>

...

</HTML>

Et voilà ce qu'il m'affiche quand je lance la page :
ADODB.Recordset erreur '800a0bb9'
The application is using arguments that are of the wrong type, are out of acceptable range, or are in conflict with one another.

Et la ligne où l'erreur se produit est :
rsQuery.Open sql,Application("connect")
qui se trouve dans ma fonction recSelect...

C'est une fonction dont je me sers partout dans mon programme pour alléger le code... ça serait bien de la débugguer!!!

Merci d'avance!

3 réponses

Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Bonjour

Est-ce que ça ne serait pas plutot cette ligne :
return(rsQuery)
qui pose probleme ?
Mets plutôt :
set recSelect=rsQuery
à la place

Cordialement
Roro webDev
Messages postés
109
Date d'inscription
mardi 13 avril 2004
Statut
Membre
Dernière intervention
4 juin 2008

J'ai essayé ta solution et ça ne fonctionne toujours pas...
L'erreur est belle est bien à l'endroit que j'ai spécifié, mais je comprends toujours pas d'où elle peut venir!
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Bonjour

Il n'y a pas longtemps, sur ce forum, quelqu'un avait eu un problème car il avait utilisé le mot sql tout comme toi. Peut-être qu'en remplaçant "sql" par "requete"

Ceci dit, d'après ton message d'erreur , je pense que ça vient d'une erreur dans la requête elle-même, par exemple une jointure sur des champs dont le type est different (du genre where client.adresse=representant.datedenaissance par exemple)
Est-ce que "select * from clients" est la vraie requête ?
Cordialement
Roro webDev