PDA

Vollständige Version anzeigen : Access 97 mehrfach starten


Hans-Peter Lainer
05.08.2001, 12:52
Das Programm Access kann mehrfach gestartet werden. Dies ist aber nicht so gut, wenn die selbe Datenbank durch Unwissenheit des Anwenders mehrfach geöffnet wird.
Wie kann ich das verhindern?
Gibt es hier überhaupt eine Möglichkeit?

Mad
05.08.2001, 14:02
Du kannst die Datenbank exklusiv öffnen, dann kommt beim zweiten Startversuche die Meldung, dass die DB gesperrt ist.

Gruß, Dietmar

Hans-Peter Lainer
05.08.2001, 14:09
Habe ich vergessen!
Die Datenbank wird in einem Netzwerk betrieben, wo mehrere Benutzer gleichzeitig damit arbeiten.
Gruss,
Hans-Peter

Mad
05.08.2001, 15:13
Du könntest den User bei Start in eine Tabelle schreiben und beim Beenden wieder daraus löschen. Bei jedem Start dann abfragen, ob der betreffende schon eingetragen ist.

Gruß, Dietmar

erwin
05.08.2001, 17:51
Hab noch was in der KnowHow gefunden ;-). Meinst du das???
'************************************************************************
' Diese Funktion ermittelt, ob ACCESS bereits aktiv ist
' Sofern IsRunning in einer ZWEITEN Instanz von ACCESS aufgerufen wird
' gibt IsRunning -1 (True) zurück
' Sofern nur eine Instanz von ACCESS geladen ist, wird 0 (False) zurückgegeben
'************************************************************************
Function IsRunning() As Integer
Dim DB As DATABASE
Set DB = CurrentDb()
If TestDDELink(DB.Name) Then
IsRunning = -1
Else
IsRunning = 0
End If
End Function

' Helper Function
Private 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
End If
Application.SetOption ("Ignore DDE Requests"), False

End Function

so long erwin...

Hans-Peter Lainer
05.08.2001, 17:56
Danke, eine gute Idee!
Muss ich mal ausprobieren.
Gruss,
Hans-Peter