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

VBA Access Discussion :

macro qui ne marche qu'avec le bureau à distance


Sujet :

VBA Access

  1. #1
    Invité
    Invité(e)
    Par défaut macro qui ne marche qu'avec le bureau à distance
    Bonjour à tous !

    J'ai un souci avec une macro access, qui fonctionne parfaitement quand je la lance depuis mon domicile avec le bureau à distance, mais qui plante dès que je veux la lancer sur machine, au taff .

    En gros, dans un répertoire donné (ici, d:\boumediene), j'ai toute une floppée de bases de données qui contiennent une même fonction d'extraction et d'édition de données ("exporter4"). Dans une autre base, j'ai écrit une fonction qui va prendre chacune des bases du dossier "boumediene" et lancer la fonction exporter4. Ca plante sur la l'instruction: "Set db = acApp.CurrentDb", avec le message d'erreur: "La méthode CurrentDb de l'objet Application a échoué"

    Ici, le code qui prend toutes les bases du dossier
    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
    16
    17
     
    Sub test()
    Dim objFso, objDossier, objFichier
    Dim repertoire, nomFichierTxt, chemin
    repertoire = "d:\boumediene"
    Set objFso = CreateObject("Scripting.FileSystemObject")
    Set objDossier = objFso.GetFolder(repertoire)
    For Each objFichier In objDossier.Files
        If (InStr(1, objFichier.Name, ".mdb", 1) > 0) Then
            chemin = repertoire & "\" & objFichier.Name
           lanceExporter4 (chemin)
         End If
    Next
     
    Set objDossier = Nothing
    Set objFso = Nothing
    End Sub
    Là, le code qui lance exporter4
    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
    16
    17
    18
    19
    20
    Public Sub lanceExporter4(chemin As String)
    Dim db As Database
    Dim acApp As New Access.Application
     
    ' Démarrer Access
    Set acApp = New Access.Application
     
    ' Ouvrir la base de données concernée
    acApp.OpenCurrentDatabase (chemin)
    'et c'est ici que ça plante
    Set db = acApp.CurrentDb
     
    ' Exécuter la macro
    acApp.Run (exporter4(db))
    acApp.CloseCurrentDatabase
     
    ' Quitter Access
    acApp.Quit
    Set acApp = Nothing
    End Sub

  2. #2
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 938
    Points : 4 860
    Points
    4 860
    Par défaut
    Bonjour,
    Dim acApp As New Access.Application

    ' Démarrer Access
    Set acApp = New Access.Application

    ' Ouvrir la base de données concernée
    acApp.OpenCurrentDatabase (chemin)
    'et c'est ici que ça plante
    Set db = acApp.CurrentDb
    C'est un peu redondant (du coté des déclarations NEW), isn't it?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Yes it was ! J'ai modifié la déclaration, en ne déclarant plus qu'une application (Dim acApp As Application). Mais bof, ça plante quand même au même endroit.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Ca y est, j'ai trouvé. Pour ceux à qui ce genre de pépin arrive un jour, il a fallu enregistrer manuellement la librairie dao360.dll dans la base de registres.

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

Discussions similaires

  1. condition qui ne marche pas avec un string
    Par descurai dans le forum Langage SQL
    Réponses: 5
    Dernier message: 27/04/2009, 17h31
  2. function qui ne marche plus avec un 2ème paramètre
    Par Zorgloub dans le forum Général VBA
    Réponses: 3
    Dernier message: 11/09/2008, 00h51
  3. Macro qui ne marche plus depuis un userform
    Par Ramoneur dans le forum Macros et VBA Excel
    Réponses: 39
    Dernier message: 19/06/2008, 16h37
  4. Macro qui génère un mail avec un hyperlien
    Par jmh51 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/03/2008, 10h25
  5. fonction js qui ne marche qu'avec un alert() dedans..
    Par skyangel20 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/10/2007, 17h30

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