Thanks for the star, glad you solved the Environ list question
Michelle,
If you are creating a small application that is going to be used by only a few people, then a bespoke 'login' form solution would be ideal - as suggested above, the security of this method is not particularly good, but it serves the purpose of logging user details.
To 'stamp' each field, when it is altered would require a little more coding on each form... as well as a change to your tables..
e.g. create two further fields on each table .. one called "aUserName" and a scond "aTimestamp" (the 'a' indicates that it is an audit field to me; just something I've always programmed with).
Assuming your user has logged into the database, you could hold their username in a global variable .. e.g. open a new module and stick in a Public variable gstrUserName for example.
Finally, I generally update records through recordsets - just need to add a couple of extra lines to the code when updating the recordset.. e.g.
With rs
.AddNew
rs!SomeField = txtMyField
rs!aTimeStamp = Now
rs!aUserName = gstrUserName
.Update
End With
Seriously consider how big this project is going to be - if it is going to be used by 50+ users on a daily basis, I'd upsize to SQL anyway .. the full benefits of SQL are beyond this question, but it does allow you to create things such as triggers.. so when data is altered, even directly in a table, you can track the user who made that alteration..
I'm in a waffling mood, so let me know if you need more info on either solution above