cs_deadisdead
Messages postés31Date d'inscriptionjeudi 12 février 2004StatutMembreDernière intervention30 septembre 2008
-
13 avril 2006 à 11:48
m2rtech
Messages postés239Date d'inscriptionmercredi 9 octobre 2002StatutMembreDernière intervention20 février 2012
-
13 avril 2006 à 17:36
Bonjour à tous,
Je vous explique mon problème. J'ai créé une fonction dans une base de données ACCESS qui me permet de faire un test dans une requete. ex:
SELECT * FROM table WHERE fct([toto])>0
Cette fonction 'fct' se trouve dans un module sous ACCESS et fonctionne parfaitement lorsque j'exécute la requête au sein de l'environnement ACCESS.
Mais voilà, j'ai besoin d'effectuer une requête de ce type sous VB 6.0 et lorsque j'utilise ma fonction 'fct' dans une requête par la méthode :
set rst = dba.OpenRecordset("SELECT * FROM table WHERE fct([toto])>0")
ou par la méthode
set rst = dba.OpenRecordset("test_requete") 'ma requete est enregistrée sous ACCESS
il me dit "fonction 'fct' non définie". Je ne sais vraiment pas comment utiliser cette fonction à distance d'autant plus qu'elle est trop complexe pour pouvoir être réalisée avec des instructions SQL simple.
m2rtech
Messages postés239Date d'inscriptionmercredi 9 octobre 2002StatutMembreDernière intervention20 février 2012 13 avril 2006 à 17:36
Salut,
JE pense que ce que tu cherches à faire est impossible !!!
En fait ta fonction n'est tout simplement pas un élément de ta base de données.
Access(Jet) je comprend que des tables ou des requetes comme objet.
C'est peu commen si on ecrivait la meme fonction sous VB et on l'intégré dans la requete.
La seul solutions pour toi est d'exprimer ta fonction sous forme de
requete SQL, et lors de l'appel de ta requete tu créé une requete inner
join qui intègre ta requete (stocké).
ex: supposons que connaitre la valeur stock de ma gestion est complexe.
je fabrique une requete dans access qui determine cette valeur 'stock' dont le champ sera appelé 'toto'
dans tes requetes sous vb tu créé une requete sous la forme :