martinmike2 said:
Is it possible to remove users directly from the ldb? I have a form
that will let me look at the users recorded in the ldb, but I would
like to be able to remove them from the ldb and force them out of the
system if I need to. Is it possible to interact with the .ldb in this
fashion?
No.
Furthermore opening the .ldb file using notepad will show you both
who's currently in the database and some of the workstations which
were in the database. When a person exits Access their workstation
name and Access login id, Admin unless you are using Access security,
are left in a "slot" or record in the ldb file. This slot or record
may get overwritten the next time someone enters the MDB depending on
what slot or record is available previous to it in the ldb file.
Determining the workstation which caused the Microsoft Access MDB
corruption
http://www.granite.ab.ca/access/corruption/workstation.htm
You should also implement an idle timer and you can use another means
on that same timer to kick folks out.
HOW TO: Detect User Idle Time or Inactivity in Access 2000 (Q210297)
http://support.microsoft.com/?kbid=210297
ACC: How to Detect User Idle Time or Inactivity (Q128814)
http://support.microsoft.com/?kbid=128814
However we found that the code which runs on the timer event must be
disabled for the programmers. Otherwise weird things start happening
when you're editing code.
Also print preview would sometimes not allow the users to run a menu
item to export the report to Excel or others. So you had to right
click on the Previewed report to get some type of internal focus back
on the report so they could then export it. This was also helped by
extending the timer to five minutes.
The downside to extending the timer to five minutes was if a person
stays in the same form and at the same control for considerable parts
of the day, ie someone doing the same inquiries, the routine didn't
realize that they had actually done something. I'll be putting in
some logic sometime to reset this timer whenever they do something in
the program.
For the rest of your solution setup a file, possibly an INI file, in
the backend directory in which you store a value. Upon entering your
FE app check that file before opening any bound forms or relinking
tables. In the above Idle Time routine also check that file every
time the timer event fires.
ACC2002: How to Shut Down a Custom Access Application Remotely Q304408
has the code necessary for this function.
You do not want to use a table in the backend MDB because you may have
renamed that MDB, are compacting it, are restoring it or otherwise
working on it.
Also if the backend is corrupted new users aren't allowed into it but
users already in it continue to work away. This means you can't get
in to set that flag
Also the Auto FE Updater utility will check a line in an INI file when
it starts up and not allow users in as well. See my website for this
utility.
Note that you do *NOT* want to use the server facility to disconnect
the client from the file as this approach may cause corruptions.
Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog -
http://msmvps.com/blogs/access/