[AccessD] Number of Users

Rocky Smolin at Beach Access Software rockysmolin at bchacc.com
Sun Jan 6 14:49:25 CST 2008


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
 




More information about the AccessD mailing list