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 Word Discussion :

Ouvrir Access depuis word


Sujet :

VBA Word

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut Ouvrir Access depuis word
    Bonjour, je veux pouvoir ouvrir Access depuis word mais je ne sais pas si c'est possible, si oui pendant que je cherche de mon côté quelqu'un pourrait-il me faire savoir comment? Ou me donner un lien de tuto etc....
    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    Access s'ouvre comme toutes les autres applications.

    Tu dois ajouter la référence Access à ton projet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim acApp as Access.Application
     
    Set acApp = New Access.Application
    acApp.visible = true
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    Merci pour la solution

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    en fait la solution donnée ne me convient pas tout à fait, mon idée est plutôt d'ouvrir une base de données spécifique exemple test.mdb

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    voici la fonction que j'ai utilisé pour le faire
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    Private Declare Function apiSetForegroundWindow Lib "user32" _
                Alias "SetForegroundWindow" _
                (ByVal hwnd As Long) _
                As Long
     
    Private Declare Function apiShowWindow Lib "user32" _
                Alias "ShowWindow" _
                (ByVal hwnd As Long, _
                ByVal nCmdShow As Long) _
                As Long
     
    Private Const SW_MAXIMIZE = 4
    Private Const SW_NORMAL = 1
    Function LanceAccessLogiciel()
     
    '
    ' LanceAccessLogiciel Macro
    '
    '
      Dim objAccess As Access.Application
      Dim intView As Variant
      Dim lngRet As Long
      Dim strMDB As String
      Dim strForm As String
     
      'chemin de la bd à ouvrir
      strMDB = "C:\Program Files\Bd_Access\CreationUser.mdb"
      strForm = "Menu_liste_des_Examens"
     
        On Error GoTo fOpenRemoteForm_Err
     
         intView = acViewNormal
     
        If Len(Dir(strMDB)) > 0 Then
            Set objAccess = New Access.Application 'activez dans outils--->Références, Microsoft Access 12.0 Object Library
            With objAccess
                lngRet = apiSetForegroundWindow(.hWndAccessApp)
                lngRet = apiShowWindow(.hWndAccessApp, SW_MAXIMIZE)
                'le premier appel à  ShowWindow semble rester sans effet
                lngRet = apiShowWindow(.hWndAccessApp, SW_MAXIMIZE)
                .OpenCurrentDatabase strMDB
                .DoCmd.OpenForm strForm, intView
                Do While Len(.CurrentDb.Name) > 0
                    DoEvents
                Loop
            End With
        End If
    fOpenRemoteForm_Exit:
        On Error Resume Next
        objAccess.Quit
        Set objAccess = Nothing
        Exit Function
    fOpenRemoteForm_Err:
        fOpenRemoteForm = False
     
        Resume fOpenRemoteForm_Exit
     
    End Function

  6. #6
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    Ça ma l'air bien compliqué pour ouvrir une base de données ??


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim acApp As Access.Application
    Set acApp = New Access.Application
    acApp.OpenAccessProject "C:\Program Files\Bd_Access\CreationUser.mdb"
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  7. #7
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    effectivement c'est un peut complexe pour ouvrir une bd, sinon j'ai essayé ton code mais il me génère une erreur sur cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    acApp.OpenAccessProject "C:\Program Files\Bd_Access\CreationUser.mdb"
    avec ce code erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    erreur 7866 Microsoft Office Access n'a pas pu ouvrir la base de données, parce que celle-ci est manquante, a été ouverte par un autre utilisateur en mode exclusif, ou n'est pas un fichier ADP
    pourtant le chemin est le bon et ma base n'est pas ouverte. Je me suis donc tourné vers cette fonction beaucoup plus courte qui réalise parfaitement la tâche
    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
    21
    22
    'VbAppWinStyle = vbNormalFocus permet de garder la base dans en mode utilisateur si on a au préalable fait
    'les manipulations requisent pour(chercher dans google mettre une base access en mode utilisateur),si on enlève
    'ce paramètre optionnel la base s'ouvrira toujours en mode création même si on avait prévu qu'elle s'ouvre en mode
    'utilisateur
     Function LanceAccessLogiciel(Optional ByVal eWindowStyle As VbAppWinStyle = vbNormalFocus) As Boolean
     
    Dim sNomApplication As String
    Dim sParametres As String
    Dim bAffErreur As Boolean
    sNomApplication = "msaccess.exe"
    sParametres = "C:\Program Files\Bd_Access\CreationUser.mdb" 'chemin de la bd
    bAffErreur = False
    On Error Resume Next
    If Len(Trim$(sParametres)) > 0 Then
    sNomApplication = sNomApplication & " """ & Trim$(sParametres) & """"
    End If
    LanceAccessLogiciel = Shell(sNomApplication, eWindowStyle)
    If Err And bAffErreur Then
    MsgBox "Erreur n°" & Err.Number & vbCrLf & "Description : " & Err.Description, _
    vbExclamation, "Fonction LanceAccessLogiciel()"
    End If
    End Function

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

Discussions similaires

  1. Ouvrir Access depuis Excel dèjà connecté
    Par Jean-Marc_RL dans le forum Access
    Réponses: 1
    Dernier message: 17/12/2013, 09h50
  2. Ouvrir access depuis VB.net
    Par IPreferCSharp dans le forum VB.NET
    Réponses: 8
    Dernier message: 09/10/2013, 21h56
  3. [XL-2010] Ouvrir Access depuis Excel
    Par Tytelle dans le forum Macros et VBA Excel
    Réponses: 29
    Dernier message: 04/05/2012, 14h41
  4. Réponses: 2
    Dernier message: 10/08/2006, 09h44
  5. Impossible d'ouvrir une base Access depuis Excel
    Par vciofolo dans le forum Access
    Réponses: 8
    Dernier message: 14/12/2005, 12h09

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