Solved

Error 3085: Undefined functions 'Nz' in expression

Posted on 2008-06-16
8
1,100 Views
Last Modified: 2013-11-25
Experts,

I have developed an application in Access 2003.  It quite large an in the final stages of development.  The application is to be distributed with the SageKeys Access 2003 MSI wizard (which is very good).  The install works perfect but I have discovered that when installed on to a Microsoft Vista Machine the application throws the error: Error 3085 - Undefined functions'Nz' in expression.

I use the Nz function extensively throughout the program.  In queries, forms, reports and modules.  On the vista machine the program does not crash, but nothing displays on the forms because of this error.

My question/s:
1. Does anyone know why the Nz funciton is not found on the installation?
2. Can I fix it without recoding every occurance to iif and isnull statements?

Thanks
 
0
Comment
Question by:Carl Sudholz
  • 4
  • 3
8 Comments
 
LVL 22

Expert Comment

by:Kelvin Sparks
ID: 21792252
It usually means one library cannot be found or you have a broken reference. Are you running a full copy (mdb) and able to check these?
0
 
LVL 7

Expert Comment

by:orcic
ID: 21792256
This could happen if you miss some reference or if your code would not compile.
Try to do the following.
Open your access code and go to the Tools->References. Check if there is any MISSING registration. After that go to Debug->Compile...
Hope this helps....
0
 

Author Comment

by:Carl Sudholz
ID: 21792307
Kelvinsparks--> The applications is to be distributed to machines with access runtime only.  I can check references by code, I will try that and get back to you.

Orcic  --> I am unable to check the references using the references dialog as the application will be running in runtime only.  Users will not necessary have access 2003 installed on their machine.  The references are all good in the original application.  It is only on the install on with Vista that I have experienced this problem.

Thanks
0
 
LVL 22

Expert Comment

by:Kelvin Sparks
ID: 21792323
Are you using the version of SageKey that is made for Vista? I use the 2002 version and had to buy an update so it would work with Vista. The way Vista handles things needs all sorts of directory changes.

I suspect you will be registering some dependant files in addition to the database (extra dlls or similar).

0
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 

Author Comment

by:Carl Sudholz
ID: 21792371
Yep, got the latest SageKey Wizard (version 2.1.2.20). They tell me it works for Vista.  The install works fine.  Its the applicaiton during run time that doesn't. Know doubt it has something to do with references.  
I am using the Sagekey wizard to installing the Access runtime, jet 4.0 sp8 and MDAC. My application uses just the standard libraries:
Mircosoft Access (msacc.olb)  - Installed with runtime (I understand)
VBA (vbe6.dll) - Installed with runtime (I understand)
DAO 3.6 (dao360.dll) - Installed with Jet 4.0 (I understand)

To my understanding these standard libraries are installed with the Sagekey installer.
0
 
LVL 22

Accepted Solution

by:
Kelvin Sparks earned 125 total points
ID: 21792382
If I recall correctly, there's a correct folder for installing to Vista - you may need to reread the Sagekey site for details, as the the old Program Files doesn't work as it should. Sagekey wraps the database as it's own application to keep it away from anything else. As such, you have to make it live within the Vista environment.
0
 

Author Comment

by:Carl Sudholz
ID: 21818884
Thank kelvinsparks for your input.

Turns out I was quite easily able to remove the need for all libraries except the core one for access (Access, VBA, and DOA).  This has solve the issue and my application now installs fine.  Distributing not standard libraries with Access is to prone to problems i think.
0
 
LVL 22

Expert Comment

by:Kelvin Sparks
ID: 21818893
Yes, if they are non standard, SageKey doesn't always detect them and you have to tell Sagekey to add them and where to store/register them. It is quite happy then.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

When you are entering numbers in a speadsheet, and don't remember what 6×7 is, you just type “=6*7" instead. It works in every cell! This is not so in Access. To enter the elusive 42 in a text box, you have to find a calculator, and then copy the re…
I see at least one EE question a week that pertains to using temporary tables in MS Access.  But surprisingly, I was unable to find a single article devoted solely to this topic. I don’t intend to describe all of the uses of temporary tables in t…
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…
Familiarize people with the process of utilizing SQL Server stored procedures 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 Micr…

706 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now