Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ouvrir 2 formulaires dont les mdb sont situes dans 2 directory

3 réponses
Avatar
Daniel
J'ai ecris ceci:
Private sub BtListe_Click()
Dim BDS as Database
set
bds=dbengine.Workspaces(0).opendatabase("d:\boulot\boulot.mdb",false,false)
docmd.openform "LISTE GENERALE"
end sub
Pour info: la base de donnee ou je me trouve avant de clicquer est
"d:\perso\perso.mdb'.
Mais lorsque je clicque sur le bouton "BtListe" je n'accede pas au
formulaire situe dans le chemin d:\boulot\boulot.mdb"..

Merci a toutes et a tous pour m'expliquer pourquoi ca ne marche pas..
--
Daniel

3 réponses

Avatar
Michel_D
Bonjour,

Il y a plusieurs choses à voir.

1) DoCmd dépend d'un objet "Application".
2) La persistence de la variable objet "Application".

Donc pour pouvoir lançer un formulaire d'une autre base, il va falloir créer
un objet "Application" et l'indiquer explicitement à la méthode "DoCmd"
et il faut si tu souhaite que ta variable objet persiste lorsque tu va quitter
ta procédure la déclarer à l'extérieur de ta procédure.

Exemple :

Option Compare Database
Dim oX As Access.Application

Private sub BtListe_Click()

sNf = "d:boulotboulot.mdb"
Set oX = CreateObject("Access.Application")
oX.Visible = True
oX.OpenCurrentDatabase (sNf)
oX.DoCmd.OpenForm "LISTE GENERALE"

End Sub


PS: Par contre j'ai du mal à saisir la finalité de la chose


"Daniel" a écrit dans le message de news:
J'ai ecris ceci:
Private sub BtListe_Click()
Dim BDS as Database
set
bdsÛengine.Workspaces(0).opendatabase("d:boulotboulot.mdb",false,false)
docmd.openform "LISTE GENERALE"
end sub
Pour info: la base de donnee ou je me trouve avant de clicquer est
"d:persoperso.mdb'.
Mais lorsque je clicque sur le bouton "BtListe" je n'accede pas au
formulaire situe dans le chemin d:boulotboulot.mdb"..

Merci a toutes et a tous pour m'expliquer pourquoi ca ne marche pas..
--
Daniel


Avatar
Daniel
Merci Michel... Ces indications fort precieuses vont me permettre d'en finir
avec le developpement de mon application..
Pour repondre a ta question, pour mon boulot je travaille en fait avec
plusieurs base de donnees (BDD) qui correspondent chacune a des affaires
differentes emais qui regroupent sensiblement les memes informations. Une
seule BDD c'est environ une cinquantaine de tables, pres de 75 formulaires et
pas loin de 100 etats d'impression !!! Et chaque BDD est installee dans un
directory different de facon a les retrouver facilement ..Donc j'en avais un
peu marre a chaque nouvelle affaire de creer des BDD, dont certaines tables
et formulaires evoluaient regulierement..

Je vais pouvoir maintenant me creer une BDD qui regroupera tous les
formulaires et etats d'impression communs a toutes les affaires et lorsque
j'en modifierai un, j'aurai plus a faire les memes modifs sur tous les
autres... ET VOILA !!! Maintenant si tu as une meilleure idee
d'organisation, je suis pret a etudier..
A nouveau merci et je te souhaite de passer de bonne fetes...
Daniel
--
Daniel



Bonjour,

Il y a plusieurs choses à voir.

1) DoCmd dépend d'un objet "Application".
2) La persistence de la variable objet "Application".

Donc pour pouvoir lançer un formulaire d'une autre base, il va falloir créer
un objet "Application" et l'indiquer explicitement à la méthode "DoCmd"
et il faut si tu souhaite que ta variable objet persiste lorsque tu va quitter
ta procédure la déclarer à l'extérieur de ta procédure.

Exemple :

Option Compare Database
Dim oX As Access.Application

Private sub BtListe_Click()

sNf = "d:boulotboulot.mdb"
Set oX = CreateObject("Access.Application")
oX.Visible = True
oX.OpenCurrentDatabase (sNf)
oX.DoCmd.OpenForm "LISTE GENERALE"

End Sub


PS: Par contre j'ai du mal à saisir la finalité de la chose


"Daniel" a écrit dans le message de news:
J'ai ecris ceci:
Private sub BtListe_Click()
Dim BDS as Database
set
bdsÛengine.Workspaces(0).opendatabase("d:boulotboulot.mdb",false,false)
docmd.openform "LISTE GENERALE"
end sub
Pour info: la base de donnee ou je me trouve avant de clicquer est
"d:persoperso.mdb'.
Mais lorsque je clicque sur le bouton "BtListe" je n'accede pas au
formulaire situe dans le chemin d:boulotboulot.mdb"..

Merci a toutes et a tous pour m'expliquer pourquoi ca ne marche pas..
--
Daniel






Avatar
Michel_D
Merci Michel... Ces indications fort precieuses vont me permettre d'en finir
avec le developpement de mon application..
Pour repondre a ta question, pour mon boulot je travaille en fait avec
plusieurs base de donnees (BDD) qui correspondent chacune a des affaires
differentes emais qui regroupent sensiblement les memes informations. Une
seule BDD c'est environ une cinquantaine de tables, pres de 75 formulaires et
pas loin de 100 etats d'impression !!! Et chaque BDD est installee dans un
directory different de facon a les retrouver facilement ..Donc j'en avais un
peu marre a chaque nouvelle affaire de creer des BDD, dont certaines tables
et formulaires evoluaient regulierement..

Je vais pouvoir maintenant me creer une BDD qui regroupera tous les
formulaires et etats d'impression communs a toutes les affaires et lorsque
j'en modifierai un, j'aurai plus a faire les memes modifs sur tous les
autres... ET VOILA !!! Maintenant si tu as une meilleure idee
d'organisation, je suis pret a etudier..
A nouveau merci et je te souhaite de passer de bonne fetes...
Daniel


Ma vision des choses :
Comme tu as apparemment identifier tes formulaires/états communs, tu te fais
ta base commune et elle te sert de base de développement pour toutes tes
autres bases avec bien sur la possibilité d'importer ce qui t'intéresse des
autres bases existantes déja développée.