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

Macros Access Discussion :

Ouverture d'une base via une macro dans une autre base [AC-2013]


Sujet :

Macros Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Responsable Relations Client
    Inscrit en
    Mai 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Responsable Relations Client
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2017
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Ouverture d'une base via une macro dans une autre base
    Bonjour à tous,

    Nouveau sur le forum, je m'excuse par avance de mon niveau en Access et de question qui pourront paraitre simple pour un non initier, étant zéro en VBA

    Mon projet pour mieux comprendre mon blocage : J'ai construit une base pour la gestion de demandes clients. Mais elles peuvent être traiter par plusieurs unités différentes en fonction du type de réclamation. Initialement, je voulais mettre en place une seul base avec un choix déroulant au départ pour orienter vers le bon formulaire, mais je pourrais avoir jusqu’à 20 utilisateurs en même temps et j'ai peur que cela pose problème. Je donc changer l'approche avec une base pour chaque type de réclamation et une base avec un bouton pour choisir le type de réclamation (plus l'incrémentation des données des autres bases, mais ça sera pour un second temps)

    Mon souci est ici car je n'arrive pas ouvrir la base B (L'une des réclamations) à partir de la base A (base simple ayant juste des boutons de commande)

    En somme, la base ouverte (Base A) doit ouvrir une seconde base (Base B) pour ouvrir celle-ci et fermer la Base A (j'ai paramétrer l'ouverture du formulaire nécessaire dans les options de la Base B, il faut juste appeller celle-ci).

    Merci par avance de votre et très bonne journée à tous

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    La réponse stricte à ta question est quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim db as DAO.Database
    Set db = OpenDatabase("x:\TonChemin\TaBD.accdb")
    À mettre dans la procédure événementielle associée au click du bouton entre le Sub et le End Sub.

    cela devrait ouvrir ta BD distante.
    Si la D se referme immédiatement il faut alors mettre le dim db à l'extérieur de la procédure (juste en dessous de la ligne Option en haut du texte).

    Tu peux aussi faire à la place du code ci-dessus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    call application.followhyeprlink("X:\TonChemin\TaBD.accd")
    Cela va ouvrir une autre BD Access totalement indépendante de ta BD actuelle.

    Ceci dit, je pense que tu es parti sur une piste bien complexe.

    Avoir 20 utilisateurs n'est pas forcements gênant mais gérer plusieurs BD peut devenir assez pénible.
    Il y aura toujours un moment où il faudra que tu fasses la même modification à plusieurs endroits.
    Il est aussi plus difficile de maintenir le même "look and feel" dans plusieurs BD simultanément.
    Et je ne parle même pas des problèmes si tu dois "synchroniser" tes BDs entre elles.

    La solution recommandée pour ces situations est plutôt de faire :

    BD Frontale (contient tout ce qui est interface et code), copiée sur chacun des postes clients.
    Il faut bien sur mettre en place un mécanisme pour s'assurer que tous ont la même frontale mais cela peut être aussi simple que de copier le fichier modèle du réseau au démarrage.
    BD Dorsale (contient juste les tables et les relations) partagée sur un serveur réseau.

    Les temps de réponses sont généralement bons et cela évite la multiplication des BDs.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Responsable Relations Client
    Inscrit en
    Mai 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Responsable Relations Client
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2017
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Bonsoir Marot,

    Merci pour ta réponse, cela fonctionne bien.

    Effectivement, comme tu le dis, cela risque de déboucher sur beaucoup de travail en cas de mise à jour du formulaire.
    Je vais tester ta proposition de scinder la base en 2.

    Merci encore et bonne soirée

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

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