Question : Undefined Functions in Access 2003 MDE

I am using Access Developer's Extensions to deploy an application several users.  I created the application using MS Access 2003 on a Windows XP Home Edition computer.  When I install and run the application on a Windows XP machine that has NEVER had any MS product installed on it, I get an undefined error for Right$ and a Trim$ statements.

I saw an earlier discussion on the bulletin board that seemed to touch address my issue (see below) but I had a few follow-up question.  Perhaps there is another way to open that discussion back up???

Are the libraries I used to create the MDE actually installed on the client computer when I run the packaging wizard?  Do I need to install the libraries on the client computer?  Since Access was never installed on the client computer, I assume that the only way the libraries would get there is from my installation package.  Based on the discussion below, the libraries could be in different location than I am expecting.  That does not seem logical (I know I opened myself up for that one).  Crazy of me, but I thought the MDE with Runtime would do the trick.  What am I missing?  Do I have to go on my clients computer and change library paths?

My client is 700 miles away.  I would like to provide a "Turn Key" solution.  Is it possible?


Vince




Here is the earlier discussion...

****************************************************************************
****************************************************************************
****************************************************************************
****************************************************************************

I've got a database which is being used by 30+ people, up until a few months ago we were all using Office 97 (State of the art tools...). The IT department have not begun to move people over to Office 2003 but ONLY when they upgrade their machines.

I have now got Office 2003 and the Developers Extensions and am trying to create a runtime file that will work on all machines regardless of office installation (as Microsoft advertise on their website). I have managed to get this to run if I leave the database as an MDB file, however for security reasons I am keen to move the file over to MDE.

When I package the MDE file up in 2003 and then attempt to run it on a machine with Office 97 installed I get error messages like... "...undefined function Trim in expression...", I thought that the runtime environment would install all the necessary files to stop problems like this happening. This is especially confusing being that I don't get this error when using the MDB file.

Can anyone help?

Sandra
 
 Send to a Friend     Printer Friendly   See Solution  
   
 Accepted Answer from peter57r
Date: 05/12/2005 06:30AM PDT
Grade: B
 Accepted Answer  


Hi sjemm,

The problem is more likely to be WIndows versions rather than Office versions.
The paths to the object libraries are compiled into the mde file based on their location on the pc you create the mde on.
If other pcs use a different Windows version, those paths might be different so the object libraries cannot be found.
You must either make sure the library paths are the same or else compile the mde on the target machine.

There are other issues waiting for you but you can ask about them when you've got past this stage.

Pete
 
Comment from sjemm
Date: 05/12/2005 07:04AM PDT
 Author Comment  


Hi Pete

Thanks for your quick response, it looks like I'll have to stick with the MDB file until we are all on the same windows or I can make the library paths the same.

Sandra
 

Answer : Undefined Functions in Access 2003 MDE

Well - you say in your question that you're already using the Access Developer's Extention (or whatever it's called now :)
That should provide all the runtime enviroment you'll need.

Try creating a form or module in your application that you can run the following on.

    Dim ref As Reference
    Dim strRefs As String
    Dim intCount As Integer
    Dim intBroken As Integer

    For Each ref In Application.References
        On Error Resume Next
        strRefs = strRefs & ref.Name & "  " & ref.Major & "." & ref.Minor
        If ref.IsBroken Then
            strRefs = strRefs & ";Broken"
            intBroken = intBroken + 1
        Else
            strRefs = strRefs & ";Present"
        End If
        strRefs = strRefs & vbCrLf
    Next
   
    Msgbox strRefs

That should help to see if there are any problem or missing references.
Random Solutions  
 
programming4us programming4us