|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Étudiant Inscription : juin 2011 Messages : 75 ![]() |
Bonjour,
Je voulais savoir si c'était possible avec ADO d'utiliser une fonction personnelle dans une requête Sql. En effet, j'ai un code du type : Code :
Public Function ma_fonction ... end function Code :
Est-ce que c'est possible ? et si non, comment je pourrais me débrouiller ? |
||
|
|
00
|
|
|
#2 | ||||
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2006 Messages : 39 ![]() |
Bonjour,
J'ai le même problème (voir l'un de mes derniers posts). A priori d'après mes recherches : - si tu fais du vba dans ACCESS pas de soucis, - si tu appelles la requête de l'extérieur cela ne fonctionne pas. Il faut par ailleurs faire attention à la déclaration des références dans le code vba. Autre vérification à faire : s'assurer d'avoir la dernière version du moteur Jet dans ton système http://support.microsoft.com/kb/239114/fr (voir la littérature sur le sujet dans Google) Par exemple cette requête fonctionne très bien : Code :
Code :
|
||||
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : juin 2011 Messages : 75 ![]() |
Oh nooooo, j'appelle de l'extérieur
mon problème est que je suis en train modifier un code que mon prédécesseur a fait, et il a tout codé en utilisant du ADO. Du coup, ça devient complexe pour moi si je dois modifier toute la structure pour fonctionner en DAO par exemple..... Il n'y aurait pas moyen, par exemple, de récupérer la valeur renvoyée par la fonction dans une variable intermédiaire que l'on utiliserait ensuite dans la requête Sql ? |
|
|
00
|
|
|
#4 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2006 Messages : 39 ![]() |
DAO, ADO même chose. Pas de valeur ajoutée à utiliser l'un ou l'autre pour ton le problème.
<De l'extérieur> Quelle language ? Il ne s'agit pas du bon topic mais je vais répondre quand même : Tu peux récupérer le nombre de lignes impactées par une requête mais cela ne devrait pas résoudre ton problème non plus. (Voir exemple morceau code VB.NET 2005 ci-dessous) Code :
|
||
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : juin 2011 Messages : 75 ![]() |
Je travaille sur un programme extérieur qui par le biais de macros vba modifie et crée des tables access. En fait, je suis sensé inclure dans cette macro les requetes situées dans mon fichier access, afin que lorsque mon programme extérieur lance sa macro, j'ai le résultat final sans devoir passer manuellement par microsoft access.
Mais je pense que je m'explique mal |
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2006 Messages : 39 ![]() |
Désolé, c'est vrai que ce n'est pas super clair
Je sais que c'est difficile et fastidieux de faire comprendre son besoin par écrit. |
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : juin 2011 Messages : 75 ![]() |
C'est bon, je me suis débrouillé en bidouillant : j'ai fait un premier recordset dans lequel j'ai récupéré le champ de ma table à modifier dans une variable tampon, j'ai modifié ensuite cette valeur directement dans ma fonction personnalisée, puis j'ai ouvert un autre recordset afin de reparcourir ma table pour y mettre à jour le champ modifié.
C'est moche et ça demande beaucoup de lignes de code pour pas grand chose, mais au moins ça fonctionne... |
|
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2006 Messages : 39 ![]() |
![]() J'ai fais la même chose Picasso disait qq chose du genre : <Quand je n'ai pas de jaune, je prends du vert!> En terme de performance ce n'est pas obligatoirement plus couteux. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com