Solved

Unknown error on Environ("Username")

Posted on 2007-03-28
3
622 Views
Last Modified: 2008-02-01
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?
0
Comment
Question by:matsumotod
  • 2
3 Comments
 
LVL 39

Accepted Solution

by:
stevbe earned 500 total points
ID: 18812397
<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
 

Author Comment

by:matsumotod
ID: 18816144
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
 

Author Comment

by:matsumotod
ID: 18816630
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

Featured Post

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article is a continuation or rather an extension from Cascading Combos (http://www.experts-exchange.com/A_5949.html) and builds on examples developed in detail there. It should be understandable alone, but I recommend reading the previous artic…
In a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
Familiarize people with the process of utilizing SQL Server views from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Access…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question