Unknown error on Environ("Username")

I have a database in Access 2002-2003 format.  One form has a field where the table-level default is the expression =Environ("Username").  This field relates to another table (lookup wizard, limited to the list values), where the username is the primary key for users' contact information.  Other than startup restrictions, the database has no other security (user-level, encryption, etc.).

When I test the database from my local hard drive and from a shared network drive, I have no problems.  However, from the shared network drive, when other users try to open that form (I've tested with two other users), they get the application message, "There was an error executing the command".  However, I still have no problems.

From another question on this site, I tried replacing =Environ("Username") with the function at http://www.mvps.org/access/api/api0008.htm.  However, those two other users still get the same message, but I still have no problem.  Thus, I don't think it's the function causing the error.  Also, I checked the spelling of the usernames in the related table, and they are correct.

I would say it's some kind of difference between me and the other two users, but we all work for the same company and run off identical systems (Windows XP and Office 2003) with all the same updates and patches.

What could be causing this?
matsumotodAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

stevbeCommented:
<One form has a field where the table-level default >
you are not trying to call the api fuction from the table directly are you? That just does not work. I typically get the logged on users name when my apps start and then stuff that into a variable that I return from a function call and then whenever I need it, in your case it sounds like you want to record who is creating a records, I just call my function.

Private Sub Form_BeforeUpdate(Cancel As Integer)
    'after all of your other validation code ...
    Me.CreateUser.Value = getUserName
End Sub

Steve
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
matsumotodAuthor Commented:
Where in VB Editor would I put that code?  A new module?  If so, before or after the "Option Compare Database Option Explicit"?  (I'm an accountant, only knowing enough about programming to be dangerous.)

I don't know what an API function is, so a little more on my setup - there's a main "Courses" table, that has a few lookup fields related to three other tables' records via the primary keys.  The "Participant" lookup field is related to the "People" table, where the username is the primary key.  The default for "Participant" is the =Environ("Username").  I've created a query that is basically a duplicate of the "Courses" table.  However, the query criteria is set to be =Environ("Username") for "Participant".  This query feeds a form for data entry (both editing current records and adding new ones), where the "Participant" field is disabled - that is, the users can see that they're being identified as the participant, but they can't change it.
0
matsumotodAuthor Commented:
I think I figured it out - it was two-fold.  First, I did need to take the function out of the table default.  Second, I had to disable "sandbox mode" on that function - see http://www.access-programmers.co.uk/forums/showthread.php?t=76173.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.