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

ouvrir une base à partir d'une autre base


Sujet :

VBA Access

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut ouvrir une base à partir d'une autre base
    Comme je débute dans access, je pose une question de débutant.
    Je voudrais connaître la procédure pour ouvrir une base à partir d'une autre base. Par exemple ouvrir bd2 à partir d'un formulaire dans bd1 (tout en fermant bd1). J'ai vu dans l'aide qu'il existe une procédure opencurrentdatabase mais je n'arrive pas à l'écrire car je n'y connais strictement rien en programmation.
    Quelqu'un peut-il m'écrire ce programme en me l'expliquant ?
    (je travaille avec access 97)
    Merci à ceux qui voudront bien me répondre.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour et bienvenue sur le Forum Office de DVP.

    Citation Envoyé par Pégé45 Voir le message
    Quelqu'un peut-il m'écrire ce programme en me l'expliquant ?
    D'abord, non ! En effet tu es sur un forum d'entraide et non sur www.faitescelapourmoi.com.

    Par contre, nous pouvons t'aiguiller sur la meilleure solution, et dépanner ton code.

    Pour cela nous avons besoin de précisions.

    Pourquoi veux-tu ouvrir une deuxième base ? Pour récupérer ses données ? Juste la lancer comme on lance une autre application ?

    Starec

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je ne souhaite pas que les autres fassent le travail à ma place (ce qui serait dénué d'intérêt), mais seulement qu'on m'explique la syntaxe de cette procédure à laquelle je ne comprends rien (j'ai découvert access 97 il y a seulement 1 mois 1/2 et je n'ai pas dépassé le stade des macros).
    En résumé, je crée ce programme pour un comité d'établissement, qui gère les oeuvres sociales de 310 salariés. J'ai créé une base mère qui contient la table des données principales (nom, prénom, poste de travail, etc) et quelques autres bases pour les principales activités (tickets restaurant, vacances, colonies enfants, billetterie...) dont les tables sont liées à la 1ère. Si je n'ai pas tout mis sur une seule base, c'est parce j'ai peur qu'elle soit trop chargée.
    Je voudrais pouvoir "sauter" de la base mère aux autres, par exemple en cliquant sur des boutons de formulaire. Je cherche donc comment fermer cette base et ouvrir les autres sans avoir à quitter access par la procédure classique. Tout automatiser permettra à ceux qui me succéderont au CE de pouvoir travailler tout de suite sans avoir à se former sur access.
    Voilà, merci à ceux qui pourront m'éclairer.

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2007
    Messages : 184
    Points : 188
    Points
    188
    Par défaut
    Bonjour,

    Pour ma part sur Access97, j'utilise la commande suivante pour ouvrir une seconde base de données (ici : c:\bas97\stats.mdb)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call Shell("MSACCESS.EXE C:\Base97\stats.Mdb", 1)
    mas je ne gère pas la fermeture de première base.


    ce code peut être placé sur l'évènement clic de ton bouton, ou sur une ligne d'une barre de commande....etc...

    Regarde la FAQ et les tutos....



    Fevec

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci à Fevec. Je vais essayer.

  6. #6
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    J'ai peut-être mal compris, mais je pense que tu fais "fausse route".

    Si je n'ai pas tout mis sur une seule base, c'est parce j'ai peur qu'elle soit trop chargée.
    Pour Access 97, la limite doit être de mémoire à 1 GB. Tu as donc le temps de voir venir.

    En fait, tu peux placer toutes tes tables dans une seule et même base...

    Un peu de lecture ici, pour mieux comprendre comment tu dois organiser tes données.

    Ensuite, pas besoin d'ouvrir plusieurs "bases". Dans un formulaire, tu affiches tes données principales (nom, prénom, adresse, etc...).

    Les données concernant les "activités" seront en principe affichées dans un sous-formulaire.

    Je t'encourage vivement à d'abord au préalable réfléchir à ton MCD (modèle conceptuel des données).

    L'interface, soit les formulaires etc... viennent après.

    Et les macros ou le code VBA de préférence te permettront d'apporter automatismes et convivialité d'utilisation à ton application.

    Domi2

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Effectivement, access paraît plus clair après avoir lu ça. Je vais tout reprendre à zéro pour mettre mes données sur une seule base.
    Grand merci.

  8. #8
    Candidat au Club
    Inscrit en
    Février 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 3
    Points : 4
    Points
    4
    Par défaut lulu.13
    Salut

    Vous vous tromper tous, on peut ouvrir deux bases différentes surtout pour les données ( Ex: Bases1 ( données sur des tables ) Bases2 programmation ( requêtes, formulaires, états, macros etc ....) donc sur la bases2 vos faites une attache des tables de bases1 est vous travailler sur deux bases différentes; de plus les programmes peuvent être sur un poste fixe et les bases1 sur un réseau afin que plusieurs personnes puissent travailler en même temps mais attention à odbc qu'il faut configurer pour les réseaux .
    Vous pouvez aussi mettre d'autres bases de données comme oracle, foxpro etc

    A bientôt


  9. #9
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonsoir,

    @luu.13 ou lulu.13 ?

    Vous vous tromper tous
    Non !

    on peut ouvrir deux bases différentes surtout pour les données ( Ex: Bases1 ( données sur des tables ) Bases2 programmation ( requêtes, formulaires, états, macros etc ....)
    Oui ! c'est d'ailleurs le seul mode de fonctionnement correct d'Access pour une utilisation en réseau... On ne le répétera jamais assez !

    Mais si tu lis les discussions de Pégé45, ce n'est pas le sujet... Ce qui avait été fait, c'était de scinder les données même... Ok ? Ce n'est pas tout à fait la même chose...

    D'où ==> Revoir le MCD... Le reste viendra assez naturellement APRES...

    Domi2

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/06/2012, 12h12
  2. [Batch] Créer une chaine à partir d'une variable et d'une autre chaine
    Par mlle lain dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 10/11/2009, 16h26
  3. Saisir une image à partir d'une photo ou d'une vidéo
    Par lohengrin56 dans le forum Flash/Flex
    Réponses: 0
    Dernier message: 07/07/2009, 16h17
  4. Réponses: 2
    Dernier message: 05/01/2009, 12h45
  5. Réponses: 5
    Dernier message: 22/05/2008, 14h42

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