IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Utiliser une UDF SQL Server dans Access (ADP)


Sujet :

Access

  1. #1
    Membre averti

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 38
    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

  2. #2
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    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 : 4 485
    Par défaut
    Bonjour,

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

    A+

  3. #3
    Membre averti

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 38
    Par défaut
    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++

  4. #4
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    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 : 4 485
    Par défaut
    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+

  5. #5
    Membre averti

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 38
    Par défaut
    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++

  6. #6
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    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 : 4 485
    Par défaut
    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

Discussions similaires

  1. [Débutant] Utiliser une bdd sql server dans vs2012.
    Par Error407 dans le forum Visual Studio
    Réponses: 0
    Dernier message: 11/02/2014, 15h02
  2. utiliser les curseurs issus de SQL-server dans Access
    Par batou22003 dans le forum Développement
    Réponses: 0
    Dernier message: 12/01/2010, 12h42
  3. Lier une table sql server dans access
    Par PICANTO dans le forum Access
    Réponses: 1
    Dernier message: 11/04/2007, 11h42
  4. connexion à une base sql server via access
    Par gunico dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 03/03/2006, 11h28
  5. lier une table Sql Server sur Access
    Par JerBi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/01/2006, 16h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo