Change Current User

Posted on 2004-10-21
Last Modified: 2012-05-05
I would like to change the current of the DB, I know it's not possible to do it.

But what i'm trying to do is close the current Database and reopen it , is it possible to do this without closing Access and reopen it

Something i would like is close the current project (keeping an empty Access windows) an reopen the same with and now the new user logon.
Question by:numeriss
    LVL 2

    Accepted Solution

    Run a Shell command to first open your project as the new user and afterwards close the current connection. Result is the same but should have to be possible.
    LVL 39

    Expert Comment

    If you only need to be the "other user" to run a query or something then you could use the PrivDBEngine to log on to the same database as a different user ... the notes say it can be used to attach through a different workgroup but I think it will work just fine if you use the same one.

    Option Compare Database
    Option Explicit

    Sub OpenDBWithNewWorkgroupFile(PathToFile As String, _
                                   DefaultUser As String, _
                                   DefaultPwd As String, _
                                   PathToDatabase As String)
        ' This function uses the unsupported PrivDBEngine object to
        ' open a database using a different workgroup information file
        ' than the one being used as the default. You might do this if
        ' you want to access data that is in a secured database that uses
        ' a different workgroup information file.
        Dim dbe As PrivDBEngine
        Dim wrk As Workspace
        Dim dbs As Database
        ' Return a reference to a new instance of the PrivDBEngine object.
        Set dbe = New PrivDBEngine
        ' Set the SystemDB property to specify the workgroup file.
        dbe.SystemDB = PathToFile
        dbe.DefaultUser = DefaultUser
        dbe.DefaultPassword = DefaultPwd
        Set wrk = dbe.Workspaces(0)
        ' Open the secured database.
        Set dbs = wrk.OpenDatabase(PathToDatabase)
        'execute your inline SQL here
    End Sub


    Author Comment

    I fact I want to get access to my Forms and report but with another user, i want something like Fast User Switching in Windows XP hehe
    LVL 39

    Expert Comment

    Why not just make seperate shorctuts and launch from there?


    Author Comment

    I used this code

        dbl = Shell("msaccess """ & CurrentDb.Name & """ /WRKGRP """ & DBEngine.SystemDB & """" & IIf(IsExclusive, " /EXCL", ""), vbMaximizedFocus)
        If dbl Then DoCmd.RunCommand acCmdExit

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone. Privacy Policy Terms of Use

    Featured Post

    Looking for New Ways to Advertise?

    Engage with tech pros in our community with native advertising, as a Vendor Expert, and more.

    It took me quite some time to sort out all the different properties of combo and list boxes available from Visual Basic at run-time. Not that the documentation is lacking: the help pages are quite thorough and well written. The problem was rather wh…
    In Debugging – Part 1, you learned the basics of the debugging process. You learned how to avoid bugs, as well as how to utilize the Immediate window in the debugging process. This article takes things to the next level by showing you how you can us…
    Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
    In Microsoft Access, learn how to “cascade” or have the displayed data of one combo control depend upon what’s entered in another. Base the dependent combo on a query for its row source: Add a reference to the first combo on the form as criteria i…

    860 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    14 Experts available now in Live!

    Get 1:1 Help Now