Hi Niklas,
I'd be happy to perform the analysis of your current version if you'd prefer. Just send me a copy
before you load any of the data into it.
I did take a closer look at it last spring and found out that I did think it
was easy to create a completely new db than to modify the old one.
Probably a wise decision. You've followed advice that database design expert and author, Michael
Hernandez, has written about and included in his lectures many times:
http://www.datatexcg.com/Downloads/DatabaseDesignTips1997.pdf
"and I don´t want this procedure to be run more than once no matter from
which frontend it´s initiated."
Maybe I was a little bit unclear about what I meant. The procedure shall be
run once every year but not more.
This is exactly how I understood the issue. My recommendation is that the DBA be the one who runs
this procedure, since it only needs to be run one time per year. The idea to implement code that
limits the ability to open the database simply serves as a safety valve, in case the DBA forgets
to run this procedure at the required time.
I did try the DetectIdleTime_Form and it works just fine!
Great.
Unnecessary database corruption can be caused by users who leave the database open longer than
necessary. If they are in the middle of editing a record (ie. record is marked dirty and pencil
symbol is displayed if form record selector is visible) and they decide to go to lunch, they will
leave this record locked for other users. They'll likely leave a whole page of records locked as
well, unless you go the extra step of implementing code to ensure that true record-level locking
is obtained:
PRB: Jet 4.0 Row-Level Locking Is Not Available with DAO 3.60
http://support.microsoft.com/?id=306435
If the power goes out while they are in the middle of editing such a record, or their PC locks up
and they have to Ctrl-Alt-Del, etc., this can cause the back-end to become corrupted. Much less
chance of that happening if you gracefully kick them out if they're not actively using the
database. Access is not very tolerant about minor glitches, so it's best to not let people
maintain open connections to a back-end database for extended periods of time.
Tom
_________________________________
Hi Tom!
Reguarding the help you are offering me, with my old application, I´m happy
to hear that you apply some help to me. And maby I will send you a copy. I
have to think about it first and to look through the old application first.
I did take a closer look at it last spring and found out that I did think it
was easyer to creat a completly new db than to modifye the old one. There
are some major misstakes made in the table design and relationships which I
now have fixed in the new application. I have also learned more about VBA
and developing and today know sevel way´s which makes an application much
more user friendly.
What I´ll do when I´m finished with this application, containing, more than
50 tables (some of them apr. 10 pcs. are LookUpTables). Is that I´ll
transfere the old data, stored since 1999, into the new application. So our
assosiation will not loose any data.
"and I don´t want this procedure to be run more than once no matter from
which frontend it´s initiated."
Maby I was a little bit uncleare about what I meant. The procedure shall be
run once every year but not more.
And one of the things that the user´s have compalined about, in the old
application, is that they need me to do things that they should be able to
do. Which is true. And that´s what I´m trying to avoid in the new
application.
So I have created a maintenance form for the assosiation in which the user
can change some variables used in my code to do some tasks that the user
want to be done more or less frequently. One of these are when a user add a
new member apply and the memberfee is payed after a breakdate (which can be
changed by the user) then shall an extra membership for the next membership
period (next year) be created automaticly free of charge. This is one of
these demands that needs to be possible to change by the user since the date
may be changed in the future (today it´s 1:st of september each year).
So I thought that I´ll do the same thing with this procedure, witch creates
new memberships records for people with a membership tyme which is free of
charge. This needs to be created before the assosiation sends out
paymentcards (bills) so we don´t accidently sned bills to those people which
shouldn´t pay.
About you offer I´ll think about it Tom and will get back to you later if
I´ll go for it! Meanwhile Tanks a lot for helping out even this time.
I did try the DetectIdleTime_Form and it works just fine!
And yes! I was thinking of the Tsunami disaster!
// Niklas