Undefined Function

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

We were running Access 2000 and upgraded to Access 2003. The application
starts and a dialog screen comes up with the message:

"UNDEFINED FUNCTION 'ENVION IN EXPRESSION" this message came up in Access
2003 and when we retrun back to Access 2000 the message still comes up. The
person that wrote the program is no longer with the company. can you give a
hint on where to look.

When the error comes up the options we have are to OK or CANCEL.
 
Your references are probably messed up.

This can be caused by differences in either the location or file version of
certain files between the machine where the application was developed, and
where it's being run (or the file missing completely from the target
machine). Such differences are common when new software is installed.

On the machine(s) where it's not working, open any code module (or open the
Debug Window, using Ctrl-G, provided you haven't selected the "keep debug
window on top" option). Select Tools | References from the menu bar. Examine
all of the selected references.

If any of the selected references have "MISSING:" in front of them, unselect
them, and back out of the dialog. If you really need the reference(s) you
just unselected (you can tell by doing a Compile All Modules), go back in
and reselect them.

If none have "MISSING:", select an additional reference at random, back out
of the dialog, then go back in and unselect the reference you just added. If
that doesn't solve the problem, try to unselect as many of the selected
references as you can (Access may not let you unselect them all), back out
of the dialog, then go back in and reselect the references you just
unselected. (NOTE: write down what the references are before you delete
them, because they'll be in a different order when you go back in)

For far more than you could ever want to know about this problem, check out
http://members.rogers.com/douglas.j.steele/AccessReferenceErrors.html
 
Douglas J. Steele said:
Your references are probably messed up. [...]

Daniell said:
We were running Access 2000 and upgraded to Access 2003. The
application starts and a dialog screen comes up with the message:

"UNDEFINED FUNCTION 'ENVION IN EXPRESSION" this message came up in
Access 2003 and when we retrun back to Access 2000 the message still
comes up. The person that wrote the program is no longer with the
company. can you give a hint on where to look.

When the error comes up the options we have are to OK or CANCEL.

Another possibility is that the upgrade included an update to Jet, and
Jet is now operating in Sandbox mode. Daniell, see this article:

http://support.microsoft.com/default.aspx?scid=kb;en-us;294698

I'd suggest that, following the instructions in that article, you set
the registry key

\\HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\engines\SandboxMode

to 2 (use sandbox mode for non-Access applications, but not for Access).
 
Dirk Goldgar said:
Another possibility is that the upgrade included an update to Jet, and
Jet is now operating in Sandbox mode. Daniell, see this article:

http://support.microsoft.com/default.aspx?scid=kb;en-us;294698

I'd suggest that, following the instructions in that article, you set
the registry key

\\HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\engines\SandboxMode

to 2 (use sandbox mode for non-Access applications, but not for Access).

Good point, Dirk.
 
I would like to extend my appreciation for the help. I have looked for the
references that have "MISSING" and did not see any. Now I will look for the
registry entry.
 
I am having the same problem. I just converted an Access 2000 DB to Access
2003 and all I have is a simple update query like:

UPDATE Geburtstage SET _Straßenbezeichnung =
Mid$(Adresse,1,Len(Adresse)-Len(Mid$(Mid$(Adresse,Instr(Adresse,"
")+1),Instr(Mid$(Adresse,Instr(Adresse," ")+1)," ")+1)))
WHERE [_Straßenbezeichnung] Not Like '*';

The error message I get is:
"Undefined function 'Mid$' in expression."

I tried to install Jet 4.0 SP8, but I get an error message that says that
the version I have installed is newer than the one I am trying to install. So
it does not update the install.

Also, the registry key
\\HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\engines\SandboxMode
reads
0x00000002 (2)

So, I ran out of ideas and options.
Do you have any other ideas of how to solve that problem? - I'd really
appreciate that!!!
Thanks,
Wolfgang Kaml
 
Wolfgang

A fairly common situation, in which Access loses reference(s).

Open a code module, select Tools | References. There's a good chance you'll
see one/more prefixed with "MISSING". Note which one(s) and uncheck all
so-prefixed. Close the window, saving changes.

Re-open the Tools | References window and find/check those same references.
Save and close. Click Debug | Recompile...

Your application should now successfully and completely recompile. Your
missing references to simple Access functions (like Mid()) should now work.

--
Good luck

Jeff Boyce
<Access MVP>

Wolfgang Kaml said:
I am having the same problem. I just converted an Access 2000 DB to Access
2003 and all I have is a simple update query like:

UPDATE Geburtstage SET _Straßenbezeichnung =
Mid$(Adresse,1,Len(Adresse)-Len(Mid$(Mid$(Adresse,Instr(Adresse,"
")+1),Instr(Mid$(Adresse,Instr(Adresse," ")+1)," ")+1)))
WHERE [_Straßenbezeichnung] Not Like '*';

The error message I get is:
"Undefined function 'Mid$' in expression."

I tried to install Jet 4.0 SP8, but I get an error message that says that
the version I have installed is newer than the one I am trying to install. So
it does not update the install.

Also, the registry key
\\HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\engines\SandboxMode
reads
0x00000002 (2)

So, I ran out of ideas and options.
Do you have any other ideas of how to solve that problem? - I'd really
appreciate that!!!
Thanks,
Wolfgang Kaml


Daniell said:
I would like to extend my appreciation for the help. I have looked for the
references that have "MISSING" and did not see any. Now I will look for the
registry entry.
 
Try the Mid() function instead of Mid$()

Jim Evans


Wolfgang Kaml said:
I am having the same problem. I just converted an Access 2000 DB to Access
2003 and all I have is a simple update query like:

UPDATE Geburtstage SET _Straßenbezeichnung =
Mid$(Adresse,1,Len(Adresse)-Len(Mid$(Mid$(Adresse,Instr(Adresse,"
")+1),Instr(Mid$(Adresse,Instr(Adresse," ")+1)," ")+1)))
WHERE [_Straßenbezeichnung] Not Like '*';

The error message I get is:
"Undefined function 'Mid$' in expression."

I tried to install Jet 4.0 SP8, but I get an error message that says that
the version I have installed is newer than the one I am trying to install. So
it does not update the install.

Also, the registry key
\\HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\engines\SandboxMode
reads
0x00000002 (2)

So, I ran out of ideas and options.
Do you have any other ideas of how to solve that problem? - I'd really
appreciate that!!!
Thanks,
Wolfgang Kaml


Daniell said:
I would like to extend my appreciation for the help. I have looked for the
references that have "MISSING" and did not see any. Now I will look for the
registry entry.
 
Back
Top