• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 634
  • Last Modified:

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?
  • 2
1 Solution
<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

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.
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.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Train for your Pen Testing Engineer Certification

Enroll today in this bundle of courses to gain experience in the logistics of pen testing, Linux fundamentals, vulnerability assessments, detecting live systems, and more! This series, valued at $3,000, is free for Premium members, Team Accounts, and Qualified Experts.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now