OVH Cloud OVH Cloud

execution d'une instruction pas dans la base courante

6 réponses
Avatar
sylvain
bonjour,

Pour l'application que je développe j'aurai besoin d'executer à partir de la
base courante des instructions VBA dans une autre base access. Je voudrais
savoir s'il est possible de changer en VBA la base courante ou s'il est
possible de préciser le nom de la base dans une instruction de ce type:
DoCmd.DeleteObject acTable, NomTable

Merci

6 réponses

Avatar
Raymond [mvp]
Bonjour.

étant un adepte de l'automation, je ne peux que te proposer cette solution:
Dim acApp As New Access.Application
acApp.OpenCurrentDatabase ("Nouvellebase")
acApp.DoCmd.DeleteObject acTable, NomTable
acApp.Quit
Set acApp = Nothing
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"sylvain" a écrit dans le message de
news:
bonjour,

Pour l'application que je développe j'aurai besoin d'executer à partir de
la
base courante des instructions VBA dans une autre base access. Je voudrais
savoir s'il est possible de changer en VBA la base courante ou s'il est
possible de préciser le nom de la base dans une instruction de ce type:
DoCmd.DeleteObject acTable, NomTable

Merci


Avatar
MB
Bonjour

Des instructions VBA ou des requetes de mise à jour, par exemple ?

Michel BERTRAND
Avatar
sylvain
Merci pour ta réponse, a priori ça marche, le pb est que lorque j'accede à la
nouvelle base par ce moyen-ci, je n'y accede qu'en mode utilisateur dans
lequel je n'ai pas les droits d'access en modification de table. est-il
possible d'ouvrir la base en mode admin (le login et le mot de passe sont
connus) en modifiant ton instruction:
acApp.OpenCurrentDatabase ("Nouvellebase")

Merci d'avance



Bonjour.

étant un adepte de l'automation, je ne peux que te proposer cette solution:
Dim acApp As New Access.Application
acApp.OpenCurrentDatabase ("Nouvellebase")
acApp.DoCmd.DeleteObject acTable, NomTable
acApp.Quit
Set acApp = Nothing
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"sylvain" a écrit dans le message de
news:
bonjour,

Pour l'application que je développe j'aurai besoin d'executer à partir de
la
base courante des instructions VBA dans une autre base access. Je voudrais
savoir s'il est possible de changer en VBA la base courante ou s'il est
possible de préciser le nom de la base dans une instruction de ce type:
DoCmd.DeleteObject acTable, NomTable

Merci







Avatar
Raymond [mvp]
tu peux faire:
acApp.OpenCurrentDatabase "Nouvellebase", False, "password"


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"sylvain" a écrit dans le message de
news:
Merci pour ta réponse, a priori ça marche, le pb est que lorque j'accede à
la
nouvelle base par ce moyen-ci, je n'y accede qu'en mode utilisateur dans
lequel je n'ai pas les droits d'access en modification de table. est-il
possible d'ouvrir la base en mode admin (le login et le mot de passe sont
connus) en modifiant ton instruction:
acApp.OpenCurrentDatabase ("Nouvellebase")

Merci d'avance



Bonjour.

étant un adepte de l'automation, je ne peux que te proposer cette
solution:
Dim acApp As New Access.Application
acApp.OpenCurrentDatabase ("Nouvellebase")
acApp.DoCmd.DeleteObject acTable, NomTable
acApp.Quit
Set acApp = Nothing
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"sylvain" a écrit dans le message de
news:
bonjour,

Pour l'application que je développe j'aurai besoin d'executer à partir
de
la
base courante des instructions VBA dans une autre base access. Je
voudrais
savoir s'il est possible de changer en VBA la base courante ou s'il est
possible de préciser le nom de la base dans une instruction de ce type:
DoCmd.DeleteObject acTable, NomTable

Merci









Avatar
sylvain
Apparement la fonction OpenCurrentDatabase n'accepte pas plus de 2 arguments.
As tu une autre solution ?


tu peux faire:
acApp.OpenCurrentDatabase "Nouvellebase", False, "password"


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"sylvain" a écrit dans le message de
news:
Merci pour ta réponse, a priori ça marche, le pb est que lorque j'accede à
la
nouvelle base par ce moyen-ci, je n'y accede qu'en mode utilisateur dans
lequel je n'ai pas les droits d'access en modification de table. est-il
possible d'ouvrir la base en mode admin (le login et le mot de passe sont
connus) en modifiant ton instruction:
acApp.OpenCurrentDatabase ("Nouvellebase")

Merci d'avance



Bonjour.

étant un adepte de l'automation, je ne peux que te proposer cette
solution:
Dim acApp As New Access.Application
acApp.OpenCurrentDatabase ("Nouvellebase")
acApp.DoCmd.DeleteObject acTable, NomTable
acApp.Quit
Set acApp = Nothing
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"sylvain" a écrit dans le message de
news:
bonjour,

Pour l'application que je développe j'aurai besoin d'executer à partir
de
la
base courante des instructions VBA dans une autre base access. Je
voudrais
savoir s'il est possible de changer en VBA la base courante ou s'il est
possible de préciser le nom de la base dans une instruction de ce type:
DoCmd.DeleteObject acTable, NomTable

Merci














Avatar
Raymond [mvp]
c'est nouveau ? ça vient de sortir ?
syntaxe:
expression.OpenCurrentDatabase(CheminFichier, Exclusif, MotPasse)
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"sylvain" a écrit dans le message de
news:
Apparement la fonction OpenCurrentDatabase n'accepte pas plus de 2
arguments.
As tu une autre solution ?