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

probleme ouverture formulaire surdeuxieme base de données

16 réponses
Avatar
rtr
Bonjour,
j'ai une base de donnée(db1) qui référencie une autre base de données(db2).
DB2 lie 2 tables de la base 1. Depuis la base 1 j'ouvre un formulaire dans
la base 2 qui affiche le nombre d'enregistrements de ces tables lies.
J'affecte ces valeurs dans la fonction Load du formualaire.

Descriptif :

- fonction dans db1 qui appelle le forumlaire de la db2 :

public function remote_form (strdb as string)

db2.open_form strdb

end fucntion

- fonction dans db2

public function open_form (strdb as string)

docmd.openform strdb

end function

et dans le load de db2

public sub OnLoad()

Me.montxt.value = DCount("*","task_customer")
end sud

Le probleme c'est que si j'ouvre le formulaire direcement dans la db2 tout
est OK mais si je l'ouvre depuis la db1 il me dit que la table task_customer
n'existe pas, alors qu'elle est dejà liée sur la base une.

J'ai l'impression quand j'appelle le formulaire de la base 2 il me l'ouvre
et au moment d'exécuter la fonction onload il est déjà dans le processus de
la base db1.

Comment corrige ca ou plus simplement comment faire mieux ca.

Merci pour vos réponses
Robert

10 réponses

1 2
Avatar
Raymond [mvp]
Bonjour.

je ne voudrais pas critiquer quoi que ce soit, mais,
dans une base 1 , ouvrir une base 2 qui a des tables attachées de la base 1,
afficher un formulaire dans la base 2 à partir de la base 1, pour connaître
le nombre d'enregistrements de la table liée de la table 1, relève quand
même d'un cheminement assez tortueux.
est-ce bien ça que tu veux réaliser à partir de ta base 1 ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Inscrivez-vous à la Newsletter TechNet.
http://www.microsoft.com/france/technet/presentation/flash/default.mspx


"rtr" a écrit dans le message de news:

| Bonjour,
| j'ai une base de donnée(db1) qui référencie une autre base de
données(db2).
| DB2 lie 2 tables de la base 1. Depuis la base 1 j'ouvre un formulaire dans
| la base 2 qui affiche le nombre d'enregistrements de ces tables lies.
| J'affecte ces valeurs dans la fonction Load du formualaire.
|
| Descriptif :
|
| - fonction dans db1 qui appelle le forumlaire de la db2 :
|
| public function remote_form (strdb as string)
|
| db2.open_form strdb
|
| end fucntion
|
| - fonction dans db2
|
| public function open_form (strdb as string)
|
| docmd.openform strdb
|
| end function
|
| et dans le load de db2
|
| public sub OnLoad()
|
| Me.montxt.value = DCount("*","task_customer")
| end sud
|
| Le probleme c'est que si j'ouvre le formulaire direcement dans la db2 tout
| est OK mais si je l'ouvre depuis la db1 il me dit que la table
task_customer
| n'existe pas, alors qu'elle est dejà liée sur la base une.
|
| J'ai l'impression quand j'appelle le formulaire de la base 2 il me l'ouvre
| et au moment d'exécuter la fonction onload il est déjà dans le processus
de
| la base db1.
|
| Comment corrige ca ou plus simplement comment faire mieux ca.
|
| Merci pour vos réponses
| Robert
|
|
|
Avatar
rtr
Oui, c'est exactement ca.
Car c'est une application qui est sous forme de module.
Par exemple : un module client, un module facture client, un module offre,
un module tâches, etc ....
Car le client final pourra choisir les modules qui veux acquérir.
Tortueux? oui je te l'accorde mais c'est le seul moyen que j'ai trouver pour
faire une application modulaire sous access. Suis-je sur le mauvais chemin?

"Raymond [mvp]" a écrit dans le message
de news: %
Bonjour.

je ne voudrais pas critiquer quoi que ce soit, mais,
dans une base 1 , ouvrir une base 2 qui a des tables attachées de la base
1,
afficher un formulaire dans la base 2 à partir de la base 1, pour
connaître
le nombre d'enregistrements de la table liée de la table 1, relève quand
même d'un cheminement assez tortueux.
est-ce bien ça que tu veux réaliser à partir de ta base 1 ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Inscrivez-vous à la Newsletter TechNet.
http://www.microsoft.com/france/technet/presentation/flash/default.mspx


"rtr" a écrit dans le message de news:

| Bonjour,
| j'ai une base de donnée(db1) qui référencie une autre base de
données(db2).
| DB2 lie 2 tables de la base 1. Depuis la base 1 j'ouvre un formulaire
dans
| la base 2 qui affiche le nombre d'enregistrements de ces tables lies.
| J'affecte ces valeurs dans la fonction Load du formualaire.
|
| Descriptif :
|
| - fonction dans db1 qui appelle le forumlaire de la db2 :
|
| public function remote_form (strdb as string)
|
| db2.open_form strdb
|
| end fucntion
|
| - fonction dans db2
|
| public function open_form (strdb as string)
|
| docmd.openform strdb
|
| end function
|
| et dans le load de db2
|
| public sub OnLoad()
|
| Me.montxt.value = DCount("*","task_customer")
| end sud
|
| Le probleme c'est que si j'ouvre le formulaire direcement dans la db2
tout
| est OK mais si je l'ouvre depuis la db1 il me dit que la table
task_customer
| n'existe pas, alors qu'elle est dejà liée sur la base une.
|
| J'ai l'impression quand j'appelle le formulaire de la base 2 il me
l'ouvre
| et au moment d'exécuter la fonction onload il est déjà dans le processus
de
| la base db1.
|
| Comment corrige ca ou plus simplement comment faire mieux ca.
|
| Merci pour vos réponses
| Robert
|
|
|




Avatar
Raymond [mvp]
c'est peut-être le bon chemin.
il faudrait essayer de passer par automation access<==>access, ce qui aurait
l'avantage de ne pas mélanger les objets, mais est-ce possible dans ton cas
?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Inscrivez-vous à la Newsletter TechNet.
http://www.microsoft.com/france/technet/presentation/flash/default.mspx


"rtr" a écrit dans le message de news:

| Oui, c'est exactement ca.
| Car c'est une application qui est sous forme de module.
| Par exemple : un module client, un module facture client, un module offre,
| un module tâches, etc ....
| Car le client final pourra choisir les modules qui veux acquérir.
| Tortueux? oui je te l'accorde mais c'est le seul moyen que j'ai trouver
pour
| faire une application modulaire sous access. Suis-je sur le mauvais
chemin?
|
Avatar
rtr
Avec automation comment je fais référence à un formulaire de ma base qui est
référencée?


"Raymond [mvp]" a écrit dans le message
de news: ej%
c'est peut-être le bon chemin.
il faudrait essayer de passer par automation access<==>access, ce qui
aurait
l'avantage de ne pas mélanger les objets, mais est-ce possible dans ton
cas
?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Inscrivez-vous à la Newsletter TechNet.
http://www.microsoft.com/france/technet/presentation/flash/default.mspx


"rtr" a écrit dans le message de news:

| Oui, c'est exactement ca.
| Car c'est une application qui est sous forme de module.
| Par exemple : un module client, un module facture client, un module
offre,
| un module tâches, etc ....
| Car le client final pourra choisir les modules qui veux acquérir.
| Tortueux? oui je te l'accorde mais c'est le seul moyen que j'ai trouver
pour
| faire une application modulaire sous access. Suis-je sur le mauvais
chemin?
|




Avatar
Raymond [mvp]
tu l'ouvre par un docmd normalement sur l'objet application déclaré.
tu as l'exemple pour un état sur
http://officesystem.access.free.fr/vba/impression_etat.htm
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Inscrivez-vous à la Newsletter TechNet.
http://www.microsoft.com/france/technet/presentation/flash/default.mspx


"rtr" a écrit dans le message de news:
eWR4%
| Avec automation comment je fais référence à un formulaire de ma base qui
est
| référencée?
|
|
| "Raymond [mvp]" a écrit dans le
message
| de news: ej%
| > c'est peut-être le bon chemin.
| > il faudrait essayer de passer par automation access<==>access, ce qui
| > aurait
| > l'avantage de ne pas mélanger les objets, mais est-ce possible dans ton
| > cas
| > ?
| >
| > --
| > @+
| > Raymond Access MVP
| > http://OfficeSystem.Access.free.fr/
| > http://www.mpfa.info/ pour débuter sur le forum.
| > Inscrivez-vous à la Newsletter TechNet.
| > http://www.microsoft.com/france/technet/presentation/flash/default.mspx
| >
| >
| > "rtr" a écrit dans le message de news:
| >
| > | Oui, c'est exactement ca.
| > | Car c'est une application qui est sous forme de module.
| > | Par exemple : un module client, un module facture client, un module
| > offre,
| > | un module tâches, etc ....
| > | Car le client final pourra choisir les modules qui veux acquérir.
| > | Tortueux? oui je te l'accorde mais c'est le seul moyen que j'ai
trouver
| > pour
| > | faire une application modulaire sous access. Suis-je sur le mauvais
| > chemin?
| > |
| >
| >
|
|
Avatar
rtr
ben je fais exactement ca mais avec un formulaire mais il ne l'affiche pas.
je vois la barre d'outils changer quand je clique sur le bouton mais il
n'affiche pas le formulaire


Sub NewAccessDatabase()
Dim dbs As Object, tdf As Object, fld As Variant
Dim strDB As String

strDB = "C:Documents and
SettingsRobertBureaucisoftModule_taskCISOFT_TASK.mdb"

Set appAccess = CreateObject("Access.Application")

appAccess.OpenCurrentDatabase strDB

appAccess.DoCmd.OpenForm "Frm_task_customer", acNormal, , , ,
acWindowNormal
appAccess.Quit
Set appAccess = Nothing
End Sub



"Raymond [mvp]" a écrit dans le message
de news:
tu l'ouvre par un docmd normalement sur l'objet application déclaré.
tu as l'exemple pour un état sur
http://officesystem.access.free.fr/vba/impression_etat.htm
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Inscrivez-vous à la Newsletter TechNet.
http://www.microsoft.com/france/technet/presentation/flash/default.mspx


"rtr" a écrit dans le message de news:
eWR4%
| Avec automation comment je fais référence à un formulaire de ma base qui
est
| référencée?
|
|
| "Raymond [mvp]" a écrit dans le
message
| de news: ej%
| > c'est peut-être le bon chemin.
| > il faudrait essayer de passer par automation access<==>access, ce qui
| > aurait
| > l'avantage de ne pas mélanger les objets, mais est-ce possible dans
ton
| > cas
| > ?
| >
| > --
| > @+
| > Raymond Access MVP
| > http://OfficeSystem.Access.free.fr/
| > http://www.mpfa.info/ pour débuter sur le forum.
| > Inscrivez-vous à la Newsletter TechNet.
| >
http://www.microsoft.com/france/technet/presentation/flash/default.mspx
| >
| >
| > "rtr" a écrit dans le message de news:
| >
| > | Oui, c'est exactement ca.
| > | Car c'est une application qui est sous forme de module.
| > | Par exemple : un module client, un module facture client, un module
| > offre,
| > | un module tâches, etc ....
| > | Car le client final pourra choisir les modules qui veux acquérir.
| > | Tortueux? oui je te l'accorde mais c'est le seul moyen que j'ai
trouver
| > pour
| > | faire une application modulaire sous access. Suis-je sur le mauvais
| > chemin?
| > |
| >
| >
|
|




Avatar
Raymond [mvp]
parce que tu as placé un quit derrière l'ouverture du form.
le quit ne peut se programmer que dans le formulaire appelé.

si tu veux obtenir l'affichage des paramètres il vaut mieux passer par une
déclaration explicite d'access telle que:
Dim acApp As Access.Application
Set acApp = New Access.Application
With acApp
.Visible = True
.OpenCurrentDatabase "C:Documents and
SettingsRobertBureaucisoftModule_taskCISOFT_TASK.mdb"
.DoCmd.OpenForm "Frm_task_customer", acNormal, , , , acWindowNormal
End With
Set acApp = Nothing


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Inscrivez-vous à la Newsletter TechNet.
http://www.microsoft.com/france/technet/presentation/flash/default.mspx


"rtr" a écrit dans le message de news:
e$
| ben je fais exactement ca mais avec un formulaire mais il ne l'affiche
pas.
| je vois la barre d'outils changer quand je clique sur le bouton mais il
| n'affiche pas le formulaire
|
|
| Sub NewAccessDatabase()
| Dim dbs As Object, tdf As Object, fld As Variant
| Dim strDB As String
|
| strDB = "C:Documents and
SettingsRobertBureaucisoftModule_taskCISOFT_TASK.mdb"
|
| Set appAccess = CreateObject("Access.Application")
|
| appAccess.OpenCurrentDatabase strDB
|
| appAccess.DoCmd.OpenForm "Frm_task_customer", acNormal, , , ,
| acWindowNormal
| appAccess.Quit
| Set appAccess = Nothing
| End Sub
|
Avatar
rtr
cela marche je suis d'accord avec toi, mais le seul probleme avec
acApp.visible c'est qu'il m'affiche une deuxieme fois la fenetre d'access,
alors que moi j'aimerais qu'il ne l'affiche pas. si je me mets pas le
visible a true je vois pas le formulaire qui s'ouvre.



"Raymond [mvp]" a écrit dans le message
de news:
parce que tu as placé un quit derrière l'ouverture du form.
le quit ne peut se programmer que dans le formulaire appelé.

si tu veux obtenir l'affichage des paramètres il vaut mieux passer par une
déclaration explicite d'access telle que:
Dim acApp As Access.Application
Set acApp = New Access.Application
With acApp
.Visible = True
.OpenCurrentDatabase "C:Documents and
SettingsRobertBureaucisoftModule_taskCISOFT_TASK.mdb"
.DoCmd.OpenForm "Frm_task_customer", acNormal, , , , acWindowNormal
End With
Set acApp = Nothing


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Inscrivez-vous à la Newsletter TechNet.
http://www.microsoft.com/france/technet/presentation/flash/default.mspx


"rtr" a écrit dans le message de news:
e$
| ben je fais exactement ca mais avec un formulaire mais il ne l'affiche
pas.
| je vois la barre d'outils changer quand je clique sur le bouton mais il
| n'affiche pas le formulaire
|
|
| Sub NewAccessDatabase()
| Dim dbs As Object, tdf As Object, fld As Variant
| Dim strDB As String
|
| strDB = "C:Documents and
SettingsRobertBureaucisoftModule_taskCISOFT_TASK.mdb"
|
| Set appAccess = CreateObject("Access.Application")
|
| appAccess.OpenCurrentDatabase strDB
|
| appAccess.DoCmd.OpenForm "Frm_task_customer", acNormal, , , ,
| acWindowNormal
| appAccess.Quit
| Set appAccess = Nothing
| End Sub
|




Avatar
Raymond [mvp]
évidemment, mais si tu es en maximize, tu ne vois que la fenêtre en cours.
un formulaire ne peut être ouvert que dans la fenêtre access.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Inscrivez-vous à la Newsletter TechNet.
http://www.microsoft.com/france/technet/presentation/flash/default.mspx


"rtr" a écrit dans le message de news:
%23TsE$
| cela marche je suis d'accord avec toi, mais le seul probleme avec
| acApp.visible c'est qu'il m'affiche une deuxieme fois la fenetre d'access,
| alors que moi j'aimerais qu'il ne l'affiche pas. si je me mets pas le
| visible a true je vois pas le formulaire qui s'ouvre.
|
Avatar
rtr
si tu as msn ou skype je peux 'tenvoyer ma base de données et je t'explique
ce qui ne tourne pas rond.
et on pourra plus facilement se parler
"Raymond [mvp]" a écrit dans le message
de news: OA1l$
évidemment, mais si tu es en maximize, tu ne vois que la fenêtre en cours.
un formulaire ne peut être ouvert que dans la fenêtre access.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Inscrivez-vous à la Newsletter TechNet.
http://www.microsoft.com/france/technet/presentation/flash/default.mspx


"rtr" a écrit dans le message de news:
%23TsE$
| cela marche je suis d'accord avec toi, mais le seul probleme avec
| acApp.visible c'est qu'il m'affiche une deuxieme fois la fenetre
d'access,
| alors que moi j'aimerais qu'il ne l'affiche pas. si je me mets pas le
| visible a true je vois pas le formulaire qui s'ouvre.
|




1 2