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 :

Trouve pas la procédure


Sujet :

Access

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2009
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 263
    Points : 79
    Points
    79
    Par défaut Trouve pas la procédure
    Bonjour,

    J'ai une fonction Public EnrichirDico() dans un module d'une base de données "Commun" qui fonctionne très bien.
    À partir d'une autre BD Access, je voudrais exécuter cette fonction avec le code suvant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Public Sub CreerDictionnaire()
     
        Dim commun As Access.Application
     
        ' Create instance of Access Application object.
        Set commun = CreateObject("Access.Application")
     
        ' Open WizCode database in Microsoft Access window.
        commun.OpenCurrentDatabase "C:\inetsrv\wwwroot\commun\database\commun.mdb", False
     
        ' Run Sub procedure.
        commun.Run "EnrichirDico()"
        Set commun = Nothing
     
    End Sub
    La base de données Commun s'ouvre bien, mais j'obtiens l'erreur que la procédure "EnrichirDico()" n'est pas trouvée.

    Qu'Est-ce qui cloche ?
    Quand j'exécute la même fonction à partir d'une macro dans Commun, elle marche.

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2009
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 263
    Points : 79
    Points
    79
    Par défaut 2 autres questions
    ... Et pendant qu'on y est, j'aurais deux autres questions.
    1º à chaque fois que j'ouvre une base de données, j'obtiens un message qui me fait la morale, qu'ouvrir une base de données peut contenir du code méchant qui peut abimer mon ordinateur, bla bla bla...
    Y a-t-il un moyen d'empêcher ce message idiot ?

    2º Si j'arrive à faire fonctionner cette fonction EnrichirDico() dans la BD Commun, va-t-elle travailler sur la BD d'où je l'appelle, ou sur la BD Commun ?

    Merci

  3. #3
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    schnee,

    Dans la méthode .run les arguments ne s’exécutent pas de cette façon donc et dans ton cas :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Public Sub CreerDictionnaire()
     
        Dim commun As Access.Application
     
        ' Create instance of Access Application object.
        Set commun = CreateObject("Access.Application")
     
        ' Open WizCode database in Microsoft Access window.
        commun.OpenCurrentDatabase "C:\inetsrv\wwwroot\commun\database\commun.mdb", False
     
        ' Run Sub procedure.
        commun.Run "EnrichirDico"
        Set commun = Nothing
     
    End Sub

    Si passage d'argument, consulte ce lien :

    http://msdn.microsoft.com/en-us/libr...ffice.15).aspx

    Bonne soirée

    JimBoLion

  4. #4
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    Et pendant qu'on y est, j'aurais deux autres questions.
    1º à chaque fois que j'ouvre une base de données, j'obtiens un message qui me fait la morale, qu'ouvrir une base de données peut contenir du code méchant qui peut abimer mon ordinateur, bla bla bla...
    Y a-t-il un moyen d'empêcher ce message idiot ?
    Merci
    Je pense qu'il va falloir approuver l'emplacement

    2º Si j'arrive à faire fonctionner cette fonction EnrichirDico() dans la BD Commun, va-t-elle travailler sur la BD d'où je l'appelle, ou sur la BD Commun ?
    Dans la base commun, mets une msgbox dans ta fonction EnrichirDico et observe les processus lancés dans le gestionnaire de tâches. Cela devrait te permettre de comprendre.

    Est ce-que tu es obligé d'utiliser cette méthode ? parce qu'en terme de performances c'est vraiment pas la panacée.

    JimBoLion

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2009
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 263
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par jimbolion Voir le message
    commun.Run "EnrichirDico"
    Il me semble que j'avais essayé ça aussi, mais là ça a marché, merci.
    Mais le problème, c'est ce que je craignais, ça a créé le dictionnaire chez Commun, pas là d'où j'ai appelé la fonction.

    Il faudrait que je puisse importer le module de commun par programmation et l'exécuter localement.
    En fait, je veux éviter d'avoir importer le même module à la main dans toutes les BD qui s'en servent chaque fois que je le modifie.

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2009
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 263
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par jimbolion Voir le message
    Je pense qu'il va falloir approuver l'emplacement
    Et on fait ça comment ?

  7. #7
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    schnee

    Il me semble que j'avais essayé ça aussi, mais là ça a marché, merci.
    Mais le problème, c'est ce que je craignais, ça a créé le dictionnaire chez Commun, pas là d'où j'ai appelé la fonction.
    Donc ta fonction est à reprendre, elle doit accepter en argument le chemin du dictionnaire à mettre à jour. Dans ton code tu devras spécifier (ADO ou DAO) la base ou dois être mis à jour ton dictionnaire.

    Et on fait ça comment ?
    une petite lecture :

    http://www.developpez.net/forums/d60...access-2007-a/


    JimBoLion

  8. #8
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2009
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 263
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par jimbolion Voir le message
    une petite lecture :
    Ah ! ... sauf que l'article parle d'Access 2007 et je suis encore sous 2003.
    Ce problème arrive à chaque fois que j'ouvre une BD depuis que je suis passé de W XP à W 7.

    Ça parle aussi de « Bouton Office », et je n'ai aucun bouton Office :-(

  9. #9
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    Je n'ai jamais utilisé 2003, mais je suis tombé (sans me faire mal) sur les articles suivants :

    http://access.developpez.com/faq/?page=Bug#SupprMsg

    http://access.developpez.com/faq/?pa...sementSecurite

    et celui de l'éditeur (tu auras compris de qui je parle)

    http://office.microsoft.com/fr-fr/ac...001122598.aspx

    Bonne lecture

    JimboLion

  10. #10
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2009
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 263
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par jimbolion Voir le message
    Je n'ai jamais utilisé 2003, mais je suis tombé (sans me faire mal) sur les articles suivants :
    Ça a marché. Super !
    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQL server 2005] SQL server en trouve pas ma procédure stockée
    Par teddyalbina dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 22/11/2010, 14h40
  2. [jonas]eclipse ne trouve pas le plugin
    Par Stessy dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 17/07/2007, 11h43
  3. je ne trouve pas la bonne syntaxe
    Par poelvo dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/08/2003, 01h30
  4. [TP]trouve pas le graph.tpu
    Par kaygee dans le forum Turbo Pascal
    Réponses: 12
    Dernier message: 13/06/2003, 12h49
  5. [Kylix] [cgi] ne trouve pas libsqlmy.so.1 !
    Par Nepomiachty Olivier dans le forum EDI
    Réponses: 3
    Dernier message: 04/07/2002, 15h15

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