youyou08
Messages postés8Date d'inscriptionjeudi 28 avril 2005StatutMembreDernière intervention16 octobre 2007
-
16 oct. 2007 à 13:24
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 2007
-
16 oct. 2007 à 19:32
Bonjour à toutes et à tous
J'ai crée une appli se connectant à une base de données ACCESS. Cette base n'est pas en local, j'utilise une source de données ODBC avec DSN pour réaliser la connexion :
Dim DB as Database
DBEngine.DefaultType = dbUseODBC
Set DB = OpenDatabase("", dbDriverNoPrompt, False, "ODBC;DSN=Consignation;")
La connexion marche, j'arrive à faire des requete SELECT, INSERT, UPDATE ....
Maintenant, je voudrais executer des requetes stockées dans la base :
Dim Qd As QueryDef
Set Qd = DB.OpenQueryDef("Ma_Requete_Stocke")
A l'execution de la méthode OpenQueryDef j'obtient le message d'erreur : Operation is not supported for this type of object
Après plusieurs teste, j'ai constaté que OpenQueyDef fonctionne correctement sur une base ouverte en local : Set DB = OpenDatabase("D:\consigne.mdb")
et non avec un lien ODBC : DBEngine.DefaultType = dbUseODBC
Set DB = OpenDatabase("", dbDriverNoPrompt, False, "ODBC;DSN=Consignation;")
De plus sachant que OpenQueryDef est obsoléte, jai utilisé QueryDefs :
Set Qd = DB.QueryDefs("Ma_Requete_Stocke")
Rien n'y fait j'ai toujours le meme message d'erreur, de plus la ligne de code precedentes marche correctement avec une base ouverte en local
La question est comment faire pour utiliser les procédure stocké de ma base ?
Merci pour vos réponse.
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 16 oct. 2007 à 19:32
Salut,
Si ta requete est de type Selection, passes par un objet RecordSet.
Si elle est de type Action (Insertion, Suppression, Mise à jour),
passes par un Objet Command.