Query die aangeeft welke gebruikers een bepaalde access database open hebben staan

Status
Niet open voor verdere reacties.

Databeest

Gebruiker
Lid geworden
1 nov 2006
Berichten
38
Ik zou graag een query maken, die kan laten zien welke gebruikers een database open hebben staan.

Soms kan ik namelijk geen wijzigingen doorvoeren, omdat andere mensen gelijktijdig gebruik maken van de database.

Hoe pak ik dat aan?
 
LDBViewer

Je kan zien wie (welke computernamen) er in de database zitten door gebruik te maken van de tool ldbviewer.exe. Die is op internet wel te vinden. Het kijkt in de LDB file van de database. Als die er niet is, dan maakt niemand er gebruik van. Als die er wel is kan het zijn dat er niemand inzit en dat de file gewoon is achtergebleven. Dat gebeurt nogal eens. Als je de LDB wilt openen met de LDBViewer dan moet je de bijbehorende MDB file selecteren. Bij MDE files wordt dat iets moeilijker. Ik hoop dat je een FE/BE database opzet hebt gemaakt.

Als je de bij LDBViewer behorende dll registreert (msldbvwr.dll iets dergelijks) kan je er vanuit VBA ook gebruik van maken.

Ik ben benieuwd naar je code!

Enjoy!
 
Hallo,
Maak een nieuwe module aan en plaats deze vba hierin.
Als je de module aanroept zie je welke users zijn ingelogd in je db.

Succes




Sub ShowUserRosterMultipleUsers()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim I, J As Long


Set cn = CurrentProject.Connection

' De gebruikerslijst wordt weergegeven als een providerspecifieke schemarijset
' in de provider Jet 4.0 OLE DB. U moet een GUID gebruiken om
' naar het schema te verwijzen, aangezien providerspecifieke schema''s niet
' worden vermeld in ADO''s typenbibliotheek voor schemarijsets

Set rs = cn.OpenSchema(adSchemaProviderSpecific, _
, "{947bb102-5d43-11d1-bdbf-00c04fb92675}")

'Geeft de lijst weer van alle gebruikers in de huidige database.

Debug.Print rs.Fields(0).Name, "", rs.Fields(1).Name, _
"", rs.Fields(2).Name, rs.Fields(3).Name

While Not rs.EOF
Debug.Print rs.Fields(0), rs.Fields(1), _
rs.Fields(2), rs.Fields(3)
rs.MoveNext
Wend



End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan