OVH Cloud OVH Cloud

VBA - Ouvrir une 2° database

3 réponses
Avatar
jac
Bonjour à tous,

je suis à la recherche d'un peu de vba qui me permettrait depuis un bouton
sur un formulaire type "Menu général" d'ouvrir une autre base access, mais
je ne trouve pas la syntaxe ad hoc. La base originale pouvant se fermer ou
rester ouverte, aucune importance, puisque je saurai la ré-ouvrir depuis un
bouton sur la base qui vient d'être ouverte.

But : depuis ma db d'exploitation, je veux pouvoir ouvrir la db qui contient
les outils de mise à jour de mes tables et je ne tiens pas à polluer mes db
en mettant tous les outils dans la même boite.

Merci d'avance à qui me mettra sur la voie.

Jac

3 réponses

Avatar
Jessy Sempere [MVP]
Bonjour

Tu peux effectivement ouvrir une autre base de donnée en utilisant VBA
sans problème, il y a différente méthode...
1°) application.openCurrentDatabase "c:...laBaseAOuvrir.mdb"
Cette méthode ouvrira ta base tout en fermant celle depuis laquelle tu
l'ouvres.

2°) Shell "MSACCESS.EXE 'c:...laBaseAOuvrir.mdb'"
Cette méthode ouvrira ta base dans une autre application Access sans fermer
la première

PS : Par contre, si je comprends bien ce que tu souhaites, en fait tu veux
utiliser ta 2ème base un peu comme une librarie, donc perso ce que je
ferais,
c'est que je créerais toutes les fonctions dont j'ai besoin dans cette base
(y compris les formulaires ou autres objets) et ensuite, je la rajouterais
comme
référence à la première. Du coup tu pourras l'utiliser avec toutes ces
fonctionnalités.

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"jac" a écrit dans le message news:
4331d8c0$0$4330$
Bonjour à tous,

je suis à la recherche d'un peu de vba qui me permettrait depuis un bouton
sur un formulaire type "Menu général" d'ouvrir une autre base access, mais
je ne trouve pas la syntaxe ad hoc. La base originale pouvant se fermer ou
rester ouverte, aucune importance, puisque je saurai la ré-ouvrir depuis
un

bouton sur la base qui vient d'être ouverte.

But : depuis ma db d'exploitation, je veux pouvoir ouvrir la db qui
contient

les outils de mise à jour de mes tables et je ne tiens pas à polluer mes
db

en mettant tous les outils dans la même boite.

Merci d'avance à qui me mettra sur la voie.

Jac




Avatar
jac
Merci Jessy, ça va marcher.

Par contre, tu me parles de "la rajouter comme référence à la première", ça
me semble prometteur, mais là, je ne vois pas comment ça se met en place

@ +


"Jessy Sempere [MVP]" a écrit dans le message de
news: 43325555$
Bonjour

Tu peux effectivement ouvrir une autre base de donnée en utilisant VBA
sans problème, il y a différente méthode...
1°) application.openCurrentDatabase "c:...laBaseAOuvrir.mdb"
Cette méthode ouvrira ta base tout en fermant celle depuis laquelle tu
l'ouvres.

2°) Shell "MSACCESS.EXE 'c:...laBaseAOuvrir.mdb'"
Cette méthode ouvrira ta base dans une autre application Access sans
fermer
la première

PS : Par contre, si je comprends bien ce que tu souhaites, en fait tu veux
utiliser ta 2ème base un peu comme une librarie, donc perso ce que je
ferais,
c'est que je créerais toutes les fonctions dont j'ai besoin dans cette
base
(y compris les formulaires ou autres objets) et ensuite, je la rajouterais
comme
référence à la première. Du coup tu pourras l'utiliser avec toutes ces
fonctionnalités.

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"jac" a écrit dans le message news:
4331d8c0$0$4330$
Bonjour à tous,

je suis à la recherche d'un peu de vba qui me permettrait depuis un
bouton
sur un formulaire type "Menu général" d'ouvrir une autre base access,
mais
je ne trouve pas la syntaxe ad hoc. La base originale pouvant se fermer
ou
rester ouverte, aucune importance, puisque je saurai la ré-ouvrir depuis
un

bouton sur la base qui vient d'être ouverte.

But : depuis ma db d'exploitation, je veux pouvoir ouvrir la db qui
contient

les outils de mise à jour de mes tables et je ne tiens pas à polluer mes
db

en mettant tous les outils dans la même boite.

Merci d'avance à qui me mettra sur la voie.

Jac








Avatar
Jessy Sempere [MVP]
Re,

C'est exactement ça...
Donc je rajouterais :
Si ta base s'appelle par exemple : "mesFonctions.mdb"
Tu mets dedans toutes les fonctions que tu veux utiliser, si tu veux ouvrir
un formulaire de cette base, tu mets par exemple dans cette base toujours...
Fonction OpenFormUpDate
docmd.openform "frmUpDate"
end function

Maintenant dans ta base contenant l'application, après avoir mis la
référence
mesFonctions.mdb, pour utiliser les fonctions de cette librarie, il te
suffit de faire :
mesFonctions.OpenFormUpDate

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Jimmy Limousin" a écrit dans le message news:

jeu. 22 sept. 2005 11:26:13 jac a écrit dans le message de news
<news:4332788a$0$16493$ :

Merci Jessy, ça va marcher.

Par contre, tu me parles de "la rajouter comme référence à la première",
ça me semble prometteur, mais là, je ne vois pas comment ça se met en
place


Dans la fenêtre VBA >Ouils >Références [parcourir] sélectionner la base.

--
Quand Jimmy dit what'd I say
I love you baby
C'est comme qui dirait
Toute la province qui chante en anglais