OVH Cloud OVH Cloud

Appliquer une fonction sur ouverture de la bd Dorsale

3 réponses
Avatar
Stach
Bonjour =E0 tous,

J'aimerai savoir si il est possible d'appliquer une=20
fonction dans la BD Dorsale lorsque la base=20
frontale "l'appelle"

J'ai bien essayer de mettre une macro "autoexec" dans la=20
base dorsale, mais =E7a ne fonctionne pas...

qq peut m'aider svp?

Merci

Stach ;-)=20
=20

3 réponses

Avatar
Michel Walsh
Salut,


Voir CodeDb et CurrentDb.

Également, on peut appeler les méthodes plubliques de modules standard
de d'autre fichiers en point-mdb du moment que ce dit fichier point-mdb soit
inclus comme référence dans les bibliothèques (Tools | References...
[Browse], changer l'extension cherchée pour mdb, c'est la première dans la
liste déroulante, puis repérer le dit fichier).

Donc, si App1 possède App2 en référence, App1 peut utiliser
App2.Méthode( ) tant que méthode est publique, dans un module. App1 ne peut
pas créer, de lui-même, de classes de Access ne permet que deux modes
d'instanciation: private et public not creatable. par contre, une méthode de
App2 peut le faire et le transmettre à App1:


Dim x As App2.ClasseDeApp2

Set x = App2.OpenClasseDeApp2( ...arguments... )


(un peu dans le style d'un recordset DAO, par exemple).



Noter que le préfixe App2 n'est requis que si il y a ambiguité (dans le même
style que ADODB.Recordset et DAO.Recordset).

Voir le fichier d'aide si on désire manipuler des données de App1, ou de
App2, depuis une procédure de App2, relativement à CodeDb et CurrentDb.
Ainsi, si la méthode App2.CouCou ouvre un recordset:


Set rst=CurrentDb.OpenRecordset(" table1")


et que et App1 et App2 possèdent une table table1, laquelle est ouverte?
celle de App1 ou celle de App2? qu'en est-il si on utilise plutôt:


Set rst=CodeDb.OpenRecordset( "table1" )


On rapelle que seule App1 est "en vie", App2 n'est qu'en référence et
"emprunte" la vie de App1 si son code doit s'exécuter, dans le contexte
mentionné.



Espérant être utile,
Vanderghast, Access MVP


"Stach" wrote in message
news:03a601c39950$40d52610$
Bonjour à tous,

J'aimerai savoir si il est possible d'appliquer une
fonction dans la BD Dorsale lorsque la base
frontale "l'appelle"

J'ai bien essayer de mettre une macro "autoexec" dans la
base dorsale, mais ça ne fonctionne pas...

qq peut m'aider svp?

Merci

Stach ;-)
Avatar
Benoit Compoint
Bonjour,

Ce problème n'a pas vraiment de solution parce qu'une base dorsale MDB n'est
pas associée à l'exécution d'un service sur le serveur (SGBDR
client-serveur), contrairement à une base Microsoft SQL Server.

Cependant l'application frontale Access peut exécuter une fonction définie
dans un module VBA de la base dorsale lors de chaque connexion à la base
dorsale.

Benoît Compoint.

"Stach" wrote in message
news:03a601c39950$40d52610$
Bonjour à tous,

J'aimerai savoir si il est possible d'appliquer une
fonction dans la BD Dorsale lorsque la base
frontale "l'appelle"

J'ai bien essayer de mettre une macro "autoexec" dans la
base dorsale, mais ça ne fonctionne pas...

qq peut m'aider svp?

Merci

Stach ;-)
Avatar
Stach
Merci pour ta réponse,

Tu as écris:

"Cependant l'application frontale Access peut exécuter une
fonction définie
dans un module VBA de la base dorsale lors de chaque
connexion à la base

dorsale."


Comment faire ??? Quel code utiliser???

Stach ;-)