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

IHM Discussion :

Ouvrir une autre base [AC-2007]


Sujet :

IHM

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 681
    Points : 214
    Points
    214
    Par défaut Ouvrir une autre base
    Bonsoir,
    Je voulais, à partir de la baseA, ouvrir une autre baseB par un bouton command.
    J'ai utilisé le code suivant tiré de l'aide en ligne en l'adaptant à mon cas avec la commande 'CALL DisplayForm("BaseB", "FormB') dans la baseA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim appAccess As Access.Application
     
    Sub DisplayForm(strDB As String, stForm As String)
     ' Create new instance of Microsoft Access.
        Set appAccess = CreateObject("Access.Application")
        ' Open database in Microsoft Access window.
        appAccess.OpenCurrentDatabase strDB
        ' Open Orders form.
        appAccess.DoCmd.OpenForm stForm '"Orders"
    End Sub
    .
    J'obtiens une erreur 7866 :
    Microsoft Access n'a pas pu ouvrir la base, car celle-çi est manquante, a été ouverte par un autre utilisateur en mode exclusif ou n'est pas un fichier ADP.
    La baseB existe et elle n'est pas ouverte.
    Reste donc le motif qu'elle n'est pas un fichier ADP.
    Comment la transformer en fichier ADP ?
    Merci de votre aide.
    Amitiés

  2. #2
    Membre habitué Avatar de fab.85
    Homme Profil pro
    GoodStock
    Inscrit en
    Octobre 2011
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : GoodStock
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2011
    Messages : 226
    Points : 125
    Points
    125
    Par défaut
    Bonjour,

    voici une méthode qui fonctionne chez moi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Commande5_Click()
     
    Set AppAccess = New Access.Application
     
    AppAccess.OpenCurrentDatabase "C:\Chemin de la base B\Base B.accdb"
    AppAccess.Visible = True
     
    End Sub
    Cordialement,

    Fabien.

  3. #3
    Membre habitué Avatar de fab.85
    Homme Profil pro
    GoodStock
    Inscrit en
    Octobre 2011
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : GoodStock
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2011
    Messages : 226
    Points : 125
    Points
    125
    Par défaut
    Oups! mettre aussi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Option Compare Database
     
     
    Dim AppAccess As Access.Application

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 681
    Points : 214
    Points
    214
    Par défaut
    Merci de ces deux suggestions complémentaires.
    Ca fonctionne aussi chez moi !
    Et c'est plus simple que ce que j'avais trouvé.
    Une fois de plus le forum a servi a bien joué son rôle.
    Amitiés à tous

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 681
    Points : 214
    Points
    214
    Par défaut Fermeture de base
    Je reprends la discussion, car je ne parviens pas à fermer la baseA après être passé à la baseB.
    Comment faire ?
    Amicalement

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Par exemple comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Option Compare Database
    Option Explicit
     
    Private Sub LeBouton_Click()
    Dim LeChemindetonFichier As String
    LeChemindetonFichier = "C:\MesDocuments\ForumAccess\LAutreBase.mdb"
    'Pour ouvrir l'autre base
    Shell "C:\WINDOWS\EXPLORER.EXE " & LeChemindetonFichier, vbNormalFocus
     
    'Pour fermer celle dans laquelle tu te trouves
    Quit
     
    End Sub

    L'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell "C:\WINDOWS\EXPLORER.EXE " & LeChemindetonFichier, vbNormalFocus
    équivaut à un double-clic sur le nom d'un fichier quelconque => il s'ouvre avec le programme associé à l'extension.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  7. #7
    Membre habitué Avatar de fab.85
    Homme Profil pro
    GoodStock
    Inscrit en
    Octobre 2011
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : GoodStock
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2011
    Messages : 226
    Points : 125
    Points
    125
    Par défaut
    Bonjour,

    merci ClaudeLELOUP pour cette deuxième solution qui marche parfaitement SURTOUT lorsque la deuxième base nécessite un mot de passe à l'ouverture...

    Cordialement,

    Fabien.

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 681
    Points : 214
    Points
    214
    Par défaut
    Bonjour,
    Merci à ClaudeLELOUP pour cette intéressante suggestion, qui,appliquée chez moi, n'a bien fonctionné qu'après une petite modification.
    En effet, si la baseB s'ouvre bien, aussitôt Access se ferme suite au 'Quit'.
    Je l'ai remplacé par 'DoCmd.CloseDataBase' et la baseA s'est bien fermée.
    J'ai ajouté aussi un DoEvents,pour laisser le temps à la commande vers l'Explorer de se terminer au calme.
    Voiçi la procédure utilisée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Option Compare Database
    Option Explicit
     
    Private Sub LeBouton_Click()
    Dim LeChemindetonFichier As String
    LeChemindetonFichier = "C:\MesDocuments\ForumAccess\LAutreBase.mdb"
    'Pour ouvrir l'autre base
    Shell "C:\WINDOWS\EXPLORER.EXE " & LeChemindetonFichier, vbNormalFocus
     DoEvents
    'Pour fermer celle dans laquelle tu te trouves
    docmd.CloseDataBase
     
    End Sub
    A+

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

Discussions similaires

  1. Ouvrir une autre base Access depuis VBA
    Par Elnino38 dans le forum VBA Access
    Réponses: 6
    Dernier message: 12/03/2015, 15h15
  2. [AC-2010] Ouvrir une autre base
    Par titi95 dans le forum Runtime
    Réponses: 13
    Dernier message: 16/05/2012, 12h19
  3. [AC-2003] Ouvrir une autre base depuis un bouton sur formulaire
    Par Bernard67 dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/05/2009, 13h38
  4. Ouvrir Une Autre Base A L'aide D'un Bouton
    Par maverick91 dans le forum Access
    Réponses: 3
    Dernier message: 22/09/2006, 11h05
  5. Réponses: 3
    Dernier message: 23/08/2006, 16h27

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