1. #1
    Invité de passage
    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 : 0
    Points
    0

    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
    Rédacteur
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    décembre 2005
    Messages
    4 477
    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 477
    Points : 7 562
    Points
    7 562

    Par défaut

    Bonjour,

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

    A+

  3. #3
    Invité de passage
    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 : 0
    Points
    0

    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
    Rédacteur
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    décembre 2005
    Messages
    4 477
    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 477
    Points : 7 562
    Points
    7 562

    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+

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