[AccessD] Number of Users

Dan Waters dwaters at usinternet.com
Sun Jan 6 16:00:38 CST 2008


Unless Rocky's db is converted to A2007 from A2003, I don't think it will
use a .mdw file for User Level Security.  

Without a .mdw file, the procedure I sent won't work.  It's for A2000
through A2003.

Dan

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Robert
Sent: Sunday, January 06, 2008 3:05 PM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] Number of Users

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Are you anticipating this application migrating to Access 2007 Format?
If so, I'm not sure the GUID and ldb methods will correctly.???

WBR
~Robert



Rocky Smolin at Beach Access Software wrote:
> That was my first thought as well.  Maybe someone will chime in with a bit
> of ldb lore. 
> 
> Rocky
> 
> 
> 
>  	
> 	
> 
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller
> Sent: Sunday, January 06, 2008 12:17 PM
> To: Access Developers discussion and problem solving
> Subject: Re: [AccessD] Number of Users
> 
> I've never done this before, but can't you interrogate the LDB file to
find
> out how many users are on at once?
> 
> Arthur
> 
> On 1/6/08, Rocky Smolin at Beach Access Software <rockysmolin at bchacc.com>
> wrote:
>> Dan:
>>
>> I always declare dao variables explicitly.  But it looks like, as you 
>> say, a good template.
>>
>> Thanks
>>
>> Rocky
>>
>>
>>
>>
>>
>>
>>
>>
>> -----Original Message-----
>> From: accessd-bounces at databaseadvisors.com
>> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters
>> Sent: Sunday, January 06, 2008 11:40 AM
>> To: 'Access Developers discussion and problem solving'
>> Subject: Re: [AccessD] Number of Users
>>
>> No - you'll need to work on it.
>>
>> You'll need to use your own tables of course.  You'll also need to 
>> deal with a couple of custom Functions (like 'SystemTitle'), which 
>> you'll need to either change or remove.
>>
>> I forgot about this but I believe that you'll need to qualify all your 
>> other recordset variables with your database as DAO.Recordset or 
>> ADODB.Recordset .
>> If you also set a reference to ADO, then your recordsets will need to 
>> know which type to become.
>>
>> This is intended as a template to start with.  I hope it does help!
>> Dan
>>
>> -----Original Message-----
>> From: accessd-bounces at databaseadvisors.com
>> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky 
>> Smolin at Beach Access Software
>> Sent: Sunday, January 06, 2008 1:18 PM
>> To: 'Access Developers discussion and problem solving'
>> Subject: Re: [AccessD] Number of Users
>>
>> Dan:
>>
>> Just drop it in and it works?  I try to avoid code when I don't 
>> understand everything it's doing.  Can't maintain it.  Pretty much set 
>> a reference to ADO and then plug and play?
>>
>> Rocky
>>
>>
>>
>>
>>
>>
>>
>>
>> -----Original Message-----
>> From: accessd-bounces at databaseadvisors.com
>> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters
>> Sent: Sunday, January 06, 2008 10:45 AM
>> To: 'Access Developers discussion and problem solving'
>> Subject: Re: [AccessD] Number of Users
>>
>> Hi Rocky,
>>
>> This came from MS KB198755, and I've used it for a few years now with 
>> no problems.  This will also tell the person being kicked off who else 
>> is logged in so they know who to ask to log off.
>>
>> -------------------------------------------------------------------
>>
>> Public Sub UserLimit()
>>
>>     Dim con As New ADODB.Connection
>>     Dim rst As New ADODB.Recordset
>>     Dim stgData As String
>>     Dim stg As String
>>     Dim stgFullName As String
>>     Dim rstFullname As DAO.Recordset
>>     Dim stgUserName As String
>>     Dim stgNameList As String
>>     Dim intUsers As Integer
>>     Dim stgUsers As String
>>     Dim rstUsers As DAO.Recordset
>>     Dim stgLockout As String
>>     Dim rstLockout As DAO.Recordset
>>
>>     '-- The user roster is exposed as a provider-specific schema rowset _
>>         in the Jet 4.0 OLE DB provider.  You have to use a GUID to _
>>         reference the schema, as provider-specific schemas are not _
>>         listed in ADO's type library for schema rowsets
>>
>>     '-- This is from MSKB 198755 and is specific to Access 2000 & up
>>     con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & 
>> DBEngine.SystemDB
>>
>>     Set rst = con.OpenSchema(adSchemaProviderSpecific, ,
>> "{947bb102-5d43-11d1-bdbf-00c04fb92675}")
>>
>>     Do While rst.EOF = False
>>         stgUserName = Left$(rst(1), InStr(1, rst(1), Chr(0)) - 1)
>>         Set rstFullname = DBEngine(0)(0).OpenRecordset("SELECT Person 
>> FROM tblPeopleMain" _
>>             & " WHERE UserName = '" & stgUserName & "'", dbOpenSnapshot)
>>         If stgUserName <> "Admin" Then
>>             If stgNameList = "" Then
>>                 stgNameList = rstFullname("Person")
>>             Else
>>                 stgNameList = rstFullname("Person") & ", " & vbNewLine 
>> & stgNameList
>>             End If
>>             intUsers = intUsers + 1
>>         End If
>>         rst.MoveNext
>>         rstFullname.Close
>>         Set rstFullname = Nothing
>>     Loop
>>     rst.Close
>>     Set rst = Nothing
>>
>>     '-- Look for too many users logging in
>>     stgUsers = "SELECT ThisMonthUsers FROM tblUserLicenseInformation"
>>     Set rstUsers = DBEngine(0)(0).OpenRecordset(stgUsers, dbOpenSnapshot)
>>     If intUsers > rstUsers("ThisMonthUsers") Then
>>         stgLockout = "SELECT * FROM tblUserLicenseLockouts"
>>         Set rstLockout = DBEngine(0)(0).OpenRecordset(stgLockout,
>> dbOpenDynaset)
>>         rstLockout.AddNew
>>         rstLockout("Name") = CurrentPerson
>>         rstLockout("LockoutDate") = CurrentDate
>>         rstLockout("LockoutTime") = Format(Now(), "Medium Time")
>>         rstLockout("AllowedUsers") = rstUsers("ThisMonthUsers")
>>         rstLockout.Update
>>         rstLockout.Close
>>         Set rstLockout = Nothing
>>         FormattedMsgBox GstgNotReady, "There are insufficient User 
>> Licenses for you to log on." _
>>             & "  The following people are now logged on to " & 
>> SystemTitle & ":" _
>>             & vbNewLine & vbNewLine _
>>             & stgNameList & "@ @", vbExclamation + vbOKOnly, 
>> "Insufficient User Licenses"
>>         rstUsers.Close
>>         Set rstUsers = Nothing
>>         DoEvents
>>         DoCmd.Quit
>>         Exit Sub
>>     End If
>>     rstUsers.Close
>>     Set rstUsers = Nothing
>>
>> End Sub
>>
>>
>> ----------------------------------------------------------------------
>> -----
>>
>>
>> -----Original Message-----
>> From: accessd-bounces at databaseadvisors.com
>> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky 
>> Smolin at Beach Access Software
>> Sent: Sunday, January 06, 2008 10:19 AM
>> To: 'Access Developers discussion and problem solving'
>> Subject: [AccessD] Number of Users
>>
>> Dear List:
>>
>> What is the easiest way to restrict the number of users in a FE/BE 
>> application?
>>
>> MTIA
>>
>> Rocky
>>
>> --
>> AccessD mailing list
>> AccessD at databaseadvisors.com
>> http://databaseadvisors.com/mailman/listinfo/accessd
>> Website: http://www.databaseadvisors.com
>>
>> --
>> AccessD mailing list
>> AccessD at databaseadvisors.com
>> http://databaseadvisors.com/mailman/listinfo/accessd
>> Website: http://www.databaseadvisors.com
>>
>> No virus found in this incoming message.
>> Checked by AVG Free Edition.
>> Version: 7.5.516 / Virus Database: 269.17.13/1210 - Release Date: 
>> 1/5/2008
>> 11:46 AM
>>
>>
>> --
>> AccessD mailing list
>> AccessD at databaseadvisors.com
>> http://databaseadvisors.com/mailman/listinfo/accessd
>> Website: http://www.databaseadvisors.com
>>
>> --
>> AccessD mailing list
>> AccessD at databaseadvisors.com
>> http://databaseadvisors.com/mailman/listinfo/accessd
>> Website: http://www.databaseadvisors.com
>>
>> No virus found in this incoming message.
>> Checked by AVG Free Edition.
>> Version: 7.5.516 / Virus Database: 269.17.13/1210 - Release Date: 
>> 1/5/2008
>> 11:46 AM
>>
>>
>> --
>> AccessD mailing list
>> AccessD at databaseadvisors.com
>> http://databaseadvisors.com/mailman/listinfo/accessd
>> Website: http://www.databaseadvisors.com
>>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 
> No virus found in this incoming message.
> Checked by AVG Free Edition. 
> Version: 7.5.516 / Virus Database: 269.17.13/1210 - Release Date: 1/5/2008
> 11:46 AM
>  
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHgUKY72dSYCwH8FQRAnzPAJ0QhmZqAX1nYv/VysO23LIH6gjvcQCdH3t3
VjjgzMETvrWHzdOG58ggMA8=
=sKG2
-----END PGP SIGNATURE-----

-- 
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com




More information about the AccessD mailing list