OVH Cloud OVH Cloud

Une seule ouverture

2 réponses
Avatar
PatCatNat's
Bonjour à tous,

J'ai un problème et ne sais pas si on peut le résoudre et comment ?

Mes utilisateurs ont une base installée en local, et comme ils sont t^te en
l'air, ils l'ouvrent plusieurs fois.
Forcément quand il faut toutes les refermer, les messages apparaissent... et
c'est la panique pour eux...

Comment faire pour que quand la base X est ouverte, on ne puisse pas
l'ouvrir une 2ème fois (Type message à la 2ème ouverture : "votre
application est déjà ouverte", puis cela ferme Xbis)

Merci pour votre aide


Patrice

2 réponses

Avatar
Raymond [mvp]
Bonsoir.
Pour interdire de lancer 2 fois la même application access il faut procéder
ainsi:
dans la macro autoexec, 1ere ligne indiquer:
action : exécutercode, fonction : TestDDELink ()
dans un module standard, placer la fonction suivante:
Option Compare Database
Option Explicit

Public Function TestDDELink() As Boolean
Dim varDDEChannel
On Error Resume Next
Application.SetOption ("Ignore DDE Requests"), True
varDDEChannel = DDEInitiate("MSAccess", CurrentDb.Name)
If Err Then
TestDDELink = False
Else
TestDDELink = True
DDETerminate varDDEChannel
DDETerminateAll
MsgBox "Application déjà ouverte. Cette instance va être
supprimée.", vbCritical
Quit
End If
Application.SetOption ("Ignore DDE Requests"), False
End Function


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"PatCatNat's" a écrit dans le message de
news:ceoigi$175$
Bonjour à tous,

J'ai un problème et ne sais pas si on peut le résoudre et comment ?

Mes utilisateurs ont une base installée en local, et comme ils sont t^te
en

l'air, ils l'ouvrent plusieurs fois.
Forcément quand il faut toutes les refermer, les messages apparaissent...
et

c'est la panique pour eux...

Comment faire pour que quand la base X est ouverte, on ne puisse pas
l'ouvrir une 2ème fois (Type message à la 2ème ouverture : "votre
application est déjà ouverte", puis cela ferme Xbis)

Merci pour votre aide


Patrice




Avatar
PatCatNat's
Raymond T génial.

"Raymond [mvp]" a écrit dans le message de
news:
Bonsoir.
Pour interdire de lancer 2 fois la même application access il faut
procéder

ainsi:
dans la macro autoexec, 1ere ligne indiquer:
action : exécutercode, fonction : TestDDELink ()
dans un module standard, placer la fonction suivante:
Option Compare Database
Option Explicit

Public Function TestDDELink() As Boolean
Dim varDDEChannel
On Error Resume Next
Application.SetOption ("Ignore DDE Requests"), True
varDDEChannel = DDEInitiate("MSAccess", CurrentDb.Name)
If Err Then
TestDDELink = False
Else
TestDDELink = True
DDETerminate varDDEChannel
DDETerminateAll
MsgBox "Application déjà ouverte. Cette instance va être
supprimée.", vbCritical
Quit
End If
Application.SetOption ("Ignore DDE Requests"), False
End Function


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"PatCatNat's" a écrit dans le message de
news:ceoigi$175$
Bonjour à tous,

J'ai un problème et ne sais pas si on peut le résoudre et comment ?

Mes utilisateurs ont une base installée en local, et comme ils sont t^te
en

l'air, ils l'ouvrent plusieurs fois.
Forcément quand il faut toutes les refermer, les messages
apparaissent...


et
c'est la panique pour eux...

Comment faire pour que quand la base X est ouverte, on ne puisse pas
l'ouvrir une 2ème fois (Type message à la 2ème ouverture : "votre
application est déjà ouverte", puis cela ferme Xbis)

Merci pour votre aide


Patrice