Précédent   Forum du club des développeurs et IT Pro > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 16/02/2013, 08h32   #1
TcTy99
Invité de passage
 
Homme Tuan
Inscription : février 2013
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Tuan
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 :
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
TcTy99 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2013, 12h33   #2
LedZeppII
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 4 177
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 177
Points : 7 100
Points : 7 100
Bonjour,

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

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2013, 15h52   #3
TcTy99
Invité de passage
 
Homme Tuan
Inscription : février 2013
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Tuan
Localisation : Suisse

Informations forums :
Inscription : février 2013
Messages : 2
Points : 0
Points : 0
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 :
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 :
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 :
strCmde = """" & strAccExe & """ """ & strDb & """"
peux-tu m'expliquer la signication des 4 guillemmets avant strAccExe.

merci.




Code :
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 & """"
TcTy99 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2013, 19h28   #4
LedZeppII
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 4 177
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 177
Points : 7 100
Points : 7 100
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 :
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 :
1
2
STRtemp = """C:\Program Files\Office2003\OFFICE11\MSACCESS.exe"" p:\B.mde" 
Call Shell(STRtemp)
A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 19h50.


 
 
 
 
Partenaires

Hébergement Web