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

re probleme avec fontion IsRunning

5 réponses
Avatar
lou
re bonjour

toutes mes excuses pour ce double fil mais j'ai un besoin urgent d'une
reponse
merci

je me serts de cette fontion pour prevenir que la base ne soit ouverte une
2eme fois
j'ai testé et c'est bizzarre je ne reçois pas le msgbox ?
LA BASE en question s'appelle MABASE

voici la fonction que j'ai copiée sur un site
ou est l'erreur ?
mecci pour votre aide
lou





Function IsRunning() As Integer
Dim db As Object
Set db = CurrentDb()

If TestDDELink(db.Name) Then
IsRunning = -1
Else
IsRunning = 0
End If
Set db = Nothing
End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''
Function TestDDELink(ByVal strAppName$) As Integer

Dim varDDEChannel
On Error Resume Next
Application.SetOption ("Ignore DDE Requests"), True
varDDEChannel = DDEInitiate("MSAccess", strAppName)

' When the app isn't already running this will error
If Err Then
TestDDELink = False
Else
TestDDELink = True
DDETerminate varDDEChannel
DDETerminateAll
MsgBox "Application déjà ouverte veuillez regarder dans la barre des
TACHES svp !!!", vbCritical, ""
Quit
End If
Application.SetOption ("Ignore DDE Requests"), False

End Function

5 réponses

Avatar
Pierre CFI [mvp]
bonjour
je viens de tester çà marche

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"lou" a écrit dans le message de news: 402901d1$0$780$
re bonjour

toutes mes excuses pour ce double fil mais j'ai un besoin urgent d'une
reponse
merci

je me serts de cette fontion pour prevenir que la base ne soit ouverte une
2eme fois
j'ai testé et c'est bizzarre je ne reçois pas le msgbox ?
LA BASE en question s'appelle MABASE

voici la fonction que j'ai copiée sur un site
ou est l'erreur ?
mecci pour votre aide
lou





Function IsRunning() As Integer
Dim db As Object
Set db = CurrentDb()

If TestDDELink(db.Name) Then
IsRunning = -1
Else
IsRunning = 0
End If
Set db = Nothing
End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''
Function TestDDELink(ByVal strAppName$) As Integer

Dim varDDEChannel
On Error Resume Next
Application.SetOption ("Ignore DDE Requests"), True
varDDEChannel = DDEInitiate("MSAccess", strAppName)

' When the app isn't already running this will error
If Err Then
TestDDELink = False
Else
TestDDELink = True
DDETerminate varDDEChannel
DDETerminateAll
MsgBox "Application déjà ouverte veuillez regarder dans la barre des
TACHES svp !!!", vbCritical, ""
Quit
End If
Application.SetOption ("Ignore DDE Requests"), False

End Function






Avatar
lou
bonjour
tu dit que ça marche as-tu eu le msgbox?

si oui peux tu me renvoyer le code qui fonctionne et ou placer le code
merci
lou

"Pierre CFI [mvp]" a écrit dans le message de
news:%23qN48S$
bonjour
je viens de tester çà marche

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"lou" a écrit dans le message de news:
402901d1$0$780$

re bonjour

toutes mes excuses pour ce double fil mais j'ai un besoin urgent d'une
reponse
merci

je me serts de cette fontion pour prevenir que la base ne soit ouverte
une


2eme fois
j'ai testé et c'est bizzarre je ne reçois pas le msgbox ?
LA BASE en question s'appelle MABASE

voici la fonction que j'ai copiée sur un site
ou est l'erreur ?
mecci pour votre aide
lou





Function IsRunning() As Integer
Dim db As Object
Set db = CurrentDb()

If TestDDELink(db.Name) Then
IsRunning = -1
Else
IsRunning = 0
End If
Set db = Nothing
End Function


''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


''''''''''''''''''''''''''''''''''''''''''''''''''''
Function TestDDELink(ByVal strAppName$) As Integer

Dim varDDEChannel
On Error Resume Next
Application.SetOption ("Ignore DDE Requests"), True
varDDEChannel = DDEInitiate("MSAccess", strAppName)

' When the app isn't already running this will error
If Err Then
TestDDELink = False
Else
TestDDELink = True
DDETerminate varDDEChannel
DDETerminateAll
MsgBox "Application déjà ouverte veuillez regarder dans la barre
des


TACHES svp !!!", vbCritical, ""
Quit
End If
Application.SetOption ("Ignore DDE Requests"), False

End Function










Avatar
Pierre CFI [mvp]
.../...
j'ai fait un copier coller de ton code, j'ai ouvert 2 fois une base quelconque et voilà

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"lou" a écrit dans le message de news: 4029245a$0$779$
bonjour
tu dit que ça marche as-tu eu le msgbox?

si oui peux tu me renvoyer le code qui fonctionne et ou placer le code
merci
lou

"Pierre CFI [mvp]" a écrit dans le message de
news:%23qN48S$
bonjour
je viens de tester çà marche

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"lou" a écrit dans le message de news:
402901d1$0$780$

re bonjour

toutes mes excuses pour ce double fil mais j'ai un besoin urgent d'une
reponse
merci

je me serts de cette fontion pour prevenir que la base ne soit ouverte
une


2eme fois
j'ai testé et c'est bizzarre je ne reçois pas le msgbox ?
LA BASE en question s'appelle MABASE

voici la fonction que j'ai copiée sur un site
ou est l'erreur ?
mecci pour votre aide
lou





Function IsRunning() As Integer
Dim db As Object
Set db = CurrentDb()

If TestDDELink(db.Name) Then
IsRunning = -1
Else
IsRunning = 0
End If
Set db = Nothing
End Function


''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


''''''''''''''''''''''''''''''''''''''''''''''''''''
Function TestDDELink(ByVal strAppName$) As Integer

Dim varDDEChannel
On Error Resume Next
Application.SetOption ("Ignore DDE Requests"), True
varDDEChannel = DDEInitiate("MSAccess", strAppName)

' When the app isn't already running this will error
If Err Then
TestDDELink = False
Else
TestDDELink = True
DDETerminate varDDEChannel
DDETerminateAll
MsgBox "Application déjà ouverte veuillez regarder dans la barre
des


TACHES svp !!!", vbCritical, ""
Quit
End If
Application.SetOption ("Ignore DDE Requests"), False

End Function














Avatar
lou
re bonjour
c'est pas tres clair tout ça , c'est ce que je fais aussi
et je ne vois toujours pas de msgbox apparaitre

tu es sur que tu vois le msg?

si OUI il y a quelque chose qui m'échape !!!!

je te remercie tout de meme pour ton aide
lou
"Pierre CFI [mvp]" a écrit dans le message de
news:%
.../...
j'ai fait un copier coller de ton code, j'ai ouvert 2 fois une base
quelconque et voilà


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"lou" a écrit dans le message de news:
4029245a$0$779$

bonjour
tu dit que ça marche as-tu eu le msgbox?

si oui peux tu me renvoyer le code qui fonctionne et ou placer le code
merci
lou

"Pierre CFI [mvp]" a écrit dans le message de
news:%23qN48S$
bonjour
je viens de tester çà marche

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"lou" a écrit dans le message de news:
402901d1$0$780$

re bonjour

toutes mes excuses pour ce double fil mais j'ai un besoin urgent
d'une




reponse
merci

je me serts de cette fontion pour prevenir que la base ne soit
ouverte




une
2eme fois
j'ai testé et c'est bizzarre je ne reçois pas le msgbox ?
LA BASE en question s'appelle MABASE

voici la fonction que j'ai copiée sur un site
ou est l'erreur ?
mecci pour votre aide
lou





Function IsRunning() As Integer
Dim db As Object
Set db = CurrentDb()

If TestDDELink(db.Name) Then
IsRunning = -1
Else
IsRunning = 0
End If
Set db = Nothing
End Function





''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


''''''''''''''''''''''''''''''''''''''''''''''''''''
Function TestDDELink(ByVal strAppName$) As Integer

Dim varDDEChannel
On Error Resume Next
Application.SetOption ("Ignore DDE Requests"), True
varDDEChannel = DDEInitiate("MSAccess", strAppName)

' When the app isn't already running this will error
If Err Then
TestDDELink = False
Else
TestDDELink = True
DDETerminate varDDEChannel
DDETerminateAll
MsgBox "Application déjà ouverte veuillez regarder dans la
barre




des
TACHES svp !!!", vbCritical, ""
Quit
End If
Application.SetOption ("Ignore DDE Requests"), False

End Function


















Avatar
Raymond [mvp]
Bonjour.

il faut exécuter ta fonction au démarrage.
tu places les fonctions que tu as indiquées dans un module standard (module1
par exemple). tu corriges la ligne du msgbox pour la ramener sur une seule
ligne.
dans la macro autoexec ( à créer si n'existe pas) tu places:
action: ExécuterCode
nom fonction : IsRunning ()

tu fermes la base
tu lance la base tout doit être normal
tu lances une 2e fois ta base; ça doit refuser avec me msgbox affiché.

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


"lou" a écrit dans le message de
news:4029dc05$0$770$
re bonjour
c'est pas tres clair tout ça , c'est ce que je fais aussi
et je ne vois toujours pas de msgbox apparaitre

tu es sur que tu vois le msg?

si OUI il y a quelque chose qui m'échape !!!!

je te remercie tout de meme pour ton aide
lou
"Pierre CFI [mvp]" a écrit dans le message de
news:%
.../...
j'ai fait un copier coller de ton code, j'ai ouvert 2 fois une base
quelconque et voilà


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"lou" a écrit dans le message de news:
4029245a$0$779$

bonjour
tu dit que ça marche as-tu eu le msgbox?

si oui peux tu me renvoyer le code qui fonctionne et ou placer le code
merci
lou

"Pierre CFI [mvp]" a écrit dans le message
de



news:%23qN48S$
bonjour
je viens de tester çà marche

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"lou" a écrit dans le message de news:
402901d1$0$780$

re bonjour

toutes mes excuses pour ce double fil mais j'ai un besoin urgent
d'une




reponse
merci

je me serts de cette fontion pour prevenir que la base ne soit
ouverte




une
2eme fois
j'ai testé et c'est bizzarre je ne reçois pas le msgbox ?
LA BASE en question s'appelle MABASE

voici la fonction que j'ai copiée sur un site
ou est l'erreur ?
mecci pour votre aide
lou





Function IsRunning() As Integer
Dim db As Object
Set db = CurrentDb()

If TestDDELink(db.Name) Then
IsRunning = -1
Else
IsRunning = 0
End If
Set db = Nothing
End Function








''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''''''''''''''''''''''''''''
Function TestDDELink(ByVal strAppName$) As Integer

Dim varDDEChannel
On Error Resume Next
Application.SetOption ("Ignore DDE Requests"), True
varDDEChannel = DDEInitiate("MSAccess", strAppName)

' When the app isn't already running this will error
If Err Then
TestDDELink = False
Else
TestDDELink = True
DDETerminate varDDEChannel
DDETerminateAll
MsgBox "Application déjà ouverte veuillez regarder dans la
barre




des
TACHES svp !!!", vbCritical, ""
Quit
End If
Application.SetOption ("Ignore DDE Requests"), False

End Function