Solved

Error 3085: Undefined functions 'Nz' in expression

Posted on 2008-06-16
8
1,103 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
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.

 

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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

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…
QuickBooks® has a great invoice interface that we were happy with for a while but that changed in 2001 through no fault of Intuit®. Our industry's unit names are dictated by RUS: the Rural Utilities Services division of USDA. Contracts contain un…
In Microsoft Access, learn how to “cascade” or have the displayed data of one combo control depend upon what’s entered in another. Base the dependent combo on a query for its row source: Add a reference to the first combo on the form as criteria i…
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

911 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