Forums Neueste Beiträge
 

Prozess-ID mit SysCmd(609) unter Access 2007?

19/05/2008 - 18:20 von Stefan | Report spam
Hallo,

vorweg: Dieses Problem wurde kürzlich hier bereits für Access 2000
gelöst - unter Access 2007 funktioniert diese Lösung aber nicht mehr.
Für eine eigene Login-Verwaltung muss ich jede Access-Sitzung genau
identifizieren können. Das hatte ich über Computername + Prozess-ID
gelöst.
Die kürzlich gepostete Lösung, die Prozess-ID per SysCmd(609) zu
bekommen, löst aber leider unter Access 2007 einen Fehler aus.
Jetzt also nochmal die Frage: Gibt es eine Möglichkeit, eine
eindeutige Identifizierung einer Access-Instanz zu bekommen. Die
Lösung müsste für alle Versionen ab Access 2000 funktionieren.
Die gepostete Idee einer Identifizierung über die Backend-LDB geht
leider davon aus, daß pro Arbeitsplatz-Login nur eine Instanz làuft -
davon kann ich aber nicht sicher ausgehen.

Vielen Dank,
Stefan
 

Lesen sie die antworten

#1 Sascha Trowitzsch
19/05/2008 - 18:50 | Warnen spam
Hi,

"Stefan" schrieb im Newsbeitrag
news:
Hallo,

vorweg: Dieses Problem wurde kürzlich hier bereits für Access 2000
gelöst - unter Access 2007 funktioniert diese Lösung aber nicht mehr.
Für eine eigene Login-Verwaltung muss ich jede Access-Sitzung genau
identifizieren können. Das hatte ich über Computername + Prozess-ID
gelöst.
Die kürzlich gepostete Lösung, die Prozess-ID per SysCmd(609) zu
bekommen, löst aber leider unter Access 2007 einen Fehler aus.
Jetzt also nochmal die Frage: Gibt es eine Möglichkeit, eine
eindeutige Identifizierung einer Access-Instanz zu bekommen. Die
Lösung müsste für alle Versionen ab Access 2000 funktionieren.
Die gepostete Idee einer Identifizierung über die Backend-LDB geht
leider davon aus, daß pro Arbeitsplatz-Login nur eine Instanz làuft -
davon kann ich aber nicht sicher ausgehen.


Die Prozess-ID kann man auch anders als über SysCmd ermitteln.
GetWindowThreadProcessId() wàre da ein Kandidat:

Public Declare Function GetWindowThreadProcessId Lib "user32.dll" _
(ByVal hwnd As Long, lpdwProcessId As Long) As Long

Dim pid as long

Call GetWindowThreadProcessId(Application.hWndAccessApp, pid)
Debug.Print pid

Ciao, Sascha

Ähnliche fragen