|
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.
|
|
|
|