Solved

Access 2010 Function not available error

Posted on 2011-03-10
5
762 Views
Last Modified: 2012-06-21
This is a database application that I recently updated from Access 2000 to Access 2010.

I'm got the retail version of Access installed on our 64 bit 2008 server and from there i'm publishing the .ACCDE file to distribute to the client pc's.

Since I did the upgrade from Access 2000, the client programs are throwing up an error:

Function is not available in query expression left$(..........

On the server i am not getting any error.

One of the clients has also got the retail version of 2010. If he opens the .ACCDB and publishes the .ACCDE then there is also no error. So the only time the error occurs is when a client opens the .ACCDE which was published from the server.

Edit: I've just been told that when the clients use a .accde file that was compiled on the 32bit client, it runs much faster

Is this a 32/64 bit issue? Or is there another reason? Before anyone asks, I've imported all the objects into a fresh .accdb and still got the same problem.
0
Comment
Question by:TownTalk
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
5 Comments
 
LVL 57

Accepted Solution

by:
Jim Dettman (Microsoft MVP/ EE MVE) earned 250 total points
ID: 35096454
<<I'm got the retail version of Access installed on our 64 bit 2008 server and from there i'm publishing the .ACCDE file to distribute to the client pc's.>>

  Did you install the 32bit version of Office or 64?  64 won't fly if they have 32bit OS's.

<<Function is not available in query expression left$(..........>>

  This is a clear sign that the VBA references are broken.

  Something in your reference list is not the same as it is on the target computer.   Have them open the app with the shift key held down.  Once there in, have them do a Alt/F11 to bring up the VBA code window. Click tools/references and look for any that are listed as MISSING or BROKEN.

JimD.
0
 
LVL 77

Expert Comment

by:peter57r
ID: 35096498
The problem  is that your config does not match your customer's and when you create a mde/accde file the paths to object libraries are hard code to the paths on the machine where the mde/accde is created.

It's a 32/64 bit issue in that the paths for 32bit apps running on 64bit windows are all different to the paths on 32bit windows.

I think you will have to consider issuing an accdb file to overcome this.



0
 

Author Comment

by:TownTalk
ID: 35096746
It's the 32 bit version of Access I installed on the server. When the client pc openend the .accdb for the first time, it sat there for a moment saying that it was looking for MSADOX.DLL, but eventually when it loaded I checked the references and everything was correctly referenced.

I can see now that on the server, the path for several of the references starts off C:\Program Files (x86)\......

So obviously the clients will not see this path. So I hit on the idea of putting a copy of all the relevent library files on the network share where the database back end is stored, and referencing them from there. Unfortunately, when I try to look at the file names in the references dialog box, the path names are too long and I cant see the name of the actual file.

Is there a way I can find out the filenames involved?

0
 

Author Comment

by:TownTalk
ID: 35096930
I could see some of the shorter filepaths. So I placed a copy of the file on the network share. Then I went into  Tools -> references and tried to browse to it. I was surprised to see that it snaps back to the original location whenever I try to change it.
0
 
LVL 77

Assisted Solution

by:peter57r
peter57r earned 250 total points
ID: 35107174
You can run this to get the full paths..

Sub listrefs()
Dim rf As Reference
For Each rf In Application.References
Debug.Print rf.FullPath

Next rf

End Sub
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Access developers frequently have requirements to interact with Excel (import from or output to) in their applications.  You might be able to accomplish this with the TransferSpreadsheet and OutputTo methods, but in this series of articles I will di…
This article describes a method of delivering Word templates for use in merging Access data to Word documents, that requires no computer knowledge on the part of the recipient -- the templates are saved in table fields, and are extracted and install…
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.
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 …

756 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