Erreur : Asp -> Fonction Access

PascalLF Messages postés 17 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 12 décembre 2004 - 5 juin 2003 à 12:02
PascalLF Messages postés 17 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 12 décembre 2004 - 5 juin 2003 à 13:55
Salut tlm,
d'une page asp j'appelle une fonction access et j'ai une erreur bizarre.
Voici mon code :

'Déclaration
Dim MaBase
Dim MaConnexion
Dim Resultat
Dim MaCommande
MaBase = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Mes Documents\AD.mdb;Persist Security Info=False"

'Connexion à ma base de donnée
Set MaConnexion = Server.CreateObject("ADODB.Connection")
MaConnexion.Open MaBase

'Création d'un objet command sur ma base de données
Set MaCommande = Server.CreateObject("ADODB.Command")
MaCommande.ActiveConnection = MaConnexion

'Déclaration de la fonction access a exécuter
MaCommande.CommandText="MajAD"
MaCommande.CommandType = adCmdStoredProc

'Execution de ma fonction et récupération des résultats
MaCommande.Execute
Result = MaCommande.Parameters("Return")
Response.Write Resultat

'Nettoyage
Set MaCommande = nothing
MaConnexion.Clode
Set MaConnexion = nothing

Voici mon erreur :

Type d'erreur :
ADODB.Command (0x800A0BB9)
Les arguments sont de type incorrect, en dehors des limites autorisées ou en conflit les uns avec les autres.
/administration/Accueil.asp, line 18

La ligne 18 correspond au code : MaCommande.CommandType = adCmdStoredProc

Si qq'1 a déjà rencontré ce type type de pb...

2 réponses

rudyboy Messages postés 12 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 12 juin 2003
5 juin 2003 à 12:41
les parmètres de l'objet Command (tels que adCmdStoredProc) ne sont pas définis par défaut

tu devrais utiliser les valeurs numériques ou hexa (lire la doc ADO) ou sinon fais un include de adovbs.inc (non recommandé)

de + tu ne devrais pas écrire ceci :
MaCommande.ActiveConnection = MaConnexion

car là tu passes juste la chaine de connexion (propriété par défaut) ce qui va avoir pour conséquence d'ouvrir une nouvelle connexion à la base. Pour réutiliser la connexion que tu viens de créer tu dois coder :

Set MaCommande.ActiveConnection = MaConnexion

ce qui est la syntaxe pour initialiser les objets

tu peux le vérifier facilement :

Response.Write MaConnexion écrit la chaine de connexion...

Rudy Boy
----------
0
PascalLF Messages postés 17 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 12 décembre 2004
5 juin 2003 à 13:55
Wahouuu.....!!!!

Merci d'avance.
0
Rejoignez-nous