Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/09/2007, 16h59   #1
Futur Membre du Club
 
Inscription : juin 2002
Messages : 38
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juin 2002
Messages : 38
Points : 15
Points : 15
Par défaut Utiliser une UDF SQL Server dans Access (ADP)

Bonjour,

Ca me semble tellement bete comme question que je n'ose la poser.

Voila, je ne trouve pas comment appeler et executer une fonction definie par l'utilisateur, crée dans SQL server 2000, dans un projet Access (ADP) 2003 sous VBA.

Pas trouvé ni dans l'aide ni dans l'explorateur objet, ca doit quand meme etre possible ...???

Isa
isa911 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2007, 12h37   #2
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 941
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 941
Points : 6 283
Points : 6 283
Bonjour,

peut-être que ce lien pourra t'aider : Exécution de fonctions définies par l'utilisateur

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2007, 08h30   #3
Futur Membre du Club
 
Inscription : juin 2002
Messages : 38
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juin 2002
Messages : 38
Points : 15
Points : 15
Re,

Dans le lien, je n'ai trouvé que des infos sur comment l'utiliser dans SQL Server ou dans Access avec du SQL mais pas avec VBA ....

Personne ne travaille sur un projet ADP ?

A++
isa911 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2007, 20h48   #4
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 941
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 941
Points : 6 283
Points : 6 283
Citation:
Dans le lien, je n'ai trouvé que des infos sur comment l'utiliser dans SQL Server ou dans Access avec du SQL
C'est un peu le but d'une fonction définie par l'utilisateur sur un serveur SQL.
A ma connaissance ça ne s'utilise que dans une instruction SQL.

Tu peux utiliser un recordset ADO qui récupèrera le jeu d'enregistrements résultant d'une instruction SQL faisant appel à la fonction définie par l'utilisateur.

Explique un peu ce que fait cette fonction et ce que tu veux en faire dans VBA.

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2007, 08h52   #5
Futur Membre du Club
 
Inscription : juin 2002
Messages : 38
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juin 2002
Messages : 38
Points : 15
Points : 15
En fait, j'ai une base Access 97 que je suis en train de migrer en Projet ADP Access 2003 et j'avais une fonction ecrite en VBA que j'utilisais à la fois dans mes requetes et à la fois dans le VBA selon les besoins.

Je l'ai retappée dans SQL Server en tant qu'UDF et donc a present elle est de nouveau accessible dans mes requetes mais je voudrais eviter de devoir faire appel dans les requetes a ma fonction SQL server et dans le VBA a ma fonction VBA, que s'il y a changement, il n'y ai pas desynchronisation.

Mon code est un peu vieux et il y a pas mal de boulot de réécriture et de changement de strategie que je me perds un peu dans tout ca.

Bon, ben je vais utiliser un recordset ADO alors.

Merci.

A++
isa911 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2007, 18h34   #6
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 941
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 941
Points : 6 283
Points : 6 283
Bonjour,

Une fonction définie par l'utilisateur dans SQL Serveur (2000 en tout cas) n'est pas accessible depuis VBA (côté client).
Elle ne peut être exécutée que par le serveur.
De plus elle est écrite en Transact-SQL et n'est donc pas compatible avec VBA.

Pour des questions de performances il vaut peut-être mieux avoir une version Transact-SQL (pour le serveur) et une version VBA pour le client.
Invoquer la fonction depuis VBA via un recordset peut-être long si le serveur est occupé.

Bon courage
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h02.


 
 
 
 
Partenaires

Hébergement Web