Compléments pour Microsoft Access

http://access.fr.free.fr/

Empêcher la ré-ouverture d'une base (Base de données)

Description 

Cette fonction permet d'éviter que lorsque l'on a déjà ouvert sa base de donnée sur son PC, qu'elle ne soit ré-ouverte.

 
Syntaxe 

CreateBaseMutex ()

Cette fonction doit être exécuter soit par une macro AutoExec, soit à l'ouverture du formulaire de démarrage de la base de donnée.

 
Exemple 

Aucun exemple disponible pour le moment.

 
Code de la fonction 


 

Public Const ErrAlreadyExist = 183&

Public Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" _
(ByVal lpAttributs As Long, ByVal InitialOwnwe As Long, _
ByVal lpName As String) As Long

Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Public Function CreateBaseMutex()

'** Permet de fermer la base, si elle est déjà ouverte
'** Ce code est à exécuter à l'ouverture de la base

Dim strMutex As String
Dim lngMu As Long
Dim lngErr As Long

strMutex = Dir(CurrentDb.Name)
Err.Clear
lngMu = CreateMutex(0, 1, strMutex)
lngErr = Err.LastDllError

If ErrAlreadyExist = lngErr Then
    CloseHandle lngMu
    DoCmd.Quit
End If

End Function