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 :

Appeler un autre MDE depuis un MDE


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Appeler un autre MDE depuis un MDE
    bonjour,

    j'ai créé la 1ère application A.MDB qui appelle la 2è B.MDB. Tout fonctionne sur mon PC. je les compile en MDE. Tout fonctionne avec le code ci-dessous.
    Cependant ils fonctionne seulement sur un PC avec la version full Access. sur un PC avec runtime, il ne fonctionne pas.

    Avez-vs déjà travaillé sur ce point ? merci pour votre aide.


    ci-dessous le sub dans la A.MDE.
    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
    Sub test() 
     
    On Error GoTo Error_Handler 
     
        Dim AppMSAccess As Access.Application 
        Set AppMSAccess = New Access.Application 
     
        AppMSAccess.Visible = True 
        AppMSAccess.OpenCurrentDatabase ("C:\IT_EF\B.mde") 
     
    Error_Handler: 
     
        If Err.Number = 7866 Then 
            AppMSAccess.Visible = False 
            MsgBox "Le chemin de l'application n'est pas correct." 
        End If 
        Exit Sub 
     
    End Sub

  2. #2
    Expert éminent
    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
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Regarde si tu peux t'inspirer du code se trouvant ici.

    A+

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci LedZepp II,

    j'ai déjà essayé Shell mais il n'a pas fonctionné. voici le code :

    Ceci pour appeler Excel avec le fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    STRtemp = "P:\00 Lam\mon_emploi_du_tempsNT.xls" 
    Call Shell("excel.exe " & STRtemp)
    '- Il fonctionne coorectement

    Ceci pour appeler Access avec le fichier MDE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    STRtemp = "C:\Program Files\Office2003\OFFICE11\MSACCESS.exe p:\B.mde" 
    Call Shell(STRtemp)
    '- Erreur

    En regardant ton code, j'ai constaté que le nombre de guillemmets est différent.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strCmde = """" & strAccExe & """ """ & strDb & """"
    peux-tu m'expliquer la signication des 4 guillemmets avant strAccExe.

    merci.




    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ' Chemin complet vers Base de données à ouvrir
    strDb = "C:\Mes Documents\Access\La Base A Ouvrir.mdb"
     
    ' Chemin complet vers exécutable Access
    strAccExe = Application.SysCmd(acSysCmdAccessDir) & "MSACCESS.EXE"
     
    ' Ligne de commande avec groupe de travail
    strCmde = """" & strAccExe & """ """ & strDb & """"

  4. #4
    Expert éminent
    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
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonsoir,

    Quand le chemin vers un fichier comporte des espaces, le shell a besoin que l'on encadre ce chemin avec des guillemets doubles.
    C'est à ça que servent (en VBA) les quatre guillemets.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    STRtemp = "C:\Program Files\Office2003\OFFICE11\MSACCESS.exe p:\B.mde" 
    Call Shell(STRtemp)
    Ce code ne fonctionne pas, car il y a des espaces dans le chemin vers MSACCESS.EXE, et il n'y a pas de guillemets doubles.

    Comme ça il devrait fonctionner:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    STRtemp = """C:\Program Files\Office2003\OFFICE11\MSACCESS.exe"" p:\B.mde" 
    Call Shell(STRtemp)
    A+

Discussions similaires

  1. Appeler un autre script depuis un script
    Par Foub dans le forum ANT
    Réponses: 5
    Dernier message: 18/07/2007, 10h32
  2. Appeler un autre script depuis un script
    Par Foub dans le forum ANT
    Réponses: 1
    Dernier message: 23/02/2007, 11h19
  3. Réponses: 3
    Dernier message: 14/12/2006, 17h31
  4. Appel d'un Formulaire depuis un autre classeur
    Par philmonnery dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/07/2006, 11h03
  5. Appeler une autre fonction depuis un signal
    Par laurent_ifips dans le forum POSIX
    Réponses: 6
    Dernier message: 24/12/2005, 15h40

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