Just off the top of my head and probably not the most elegant way, but I think I would put a hidden table in the dB, let's call it "tblLog" for the moment. Create a new form - let's call it "frmLog" and hide it as well. Now when your dB opens up, you should use your autoexec macro (or other startup form if you prefer) to open frmLog in hidden mode. The OnOpen of the new form will put an entry into your dB for the person logging on by use of this code:
Private Sub Form_Open()
If Len(Nz(DLookup("[UserName]","[tblLog]","[tblLog].[UserName] = '" & Environ$("UserName"

& "'", ""

) = 0 Then
DoCmd.RunSQL "INSERT INTO tblLog( UserName ) SELECT '" & Environ$("UserName"

& "' As UserName_ FROM
tblLog;"
Else
Msgbox "You are already logged into this application!",vbCritical+vbOKOnly,"Multiple Log-ins"
Application.Quit
End If
End Sub
Now, for the form close, put this:
Private Sub Form_Close()
DoCmd.RunSQL "DELETE * FROM tblLog WHERE tblLog.UserName = '" & Environ$("UserName"

& "'"
Exit Sub
Sorry for any type-O's as I'm writing this free-hand... Kyle
![[pc2] [pc2] [pc2]](/data/assets/smilies/pc2.gif)