Link to home
Start Free TrialLog in
Avatar of pred8tr
pred8tr

asked on

WXP Access07 Runtime generates error on Access07 on Vista.

We just had a new database created for us. It was developed on a Windows XP box that was fully updated and patched from Windows Update.

The runtime of that database generates an error on a Vista box also with MS Access 2007. The Vista machine was also fully patched from Windows Update.

The error is:
Function is not available in expressions in query expression 'Left([IngredientX]![LOC],6'.

I looked through the Library References on both machines and there is NOT one that indicates "MISSING". I did a line by line comparison on each machine and did find a difference however:

On the Vista machine:
Microsoft ADO Ext. 6.0 for DDL and Security

On the XP machine:
Microsoft ADO Ext. 2.8 for DDL and Security

I did some research and determined that this is part of MDAC and that in Vista the included version is 6.0 and there is no 6.0 version available to XP and 2.8 is the most recent (with Service Packs).

Additionally I read some information that indicated the erroring function "Left" is a part of VBE6.DLL and that's where I should look for the solution.

I saw one solution that recommended Late Binding to remedy this. I am not familiar with this but presented the option to the person creating the DB and apparently he isn't either.

Finally, I ran Windows Update on each machine in question and there were updates that hadn't automatically installed. These included .Net Framework 3.5 Update, Office 2007 Update, and Internet Explorer 8. After applying these on the machines in question I still have the error.
ASKER CERTIFIED SOLUTION
Avatar of pred8tr
pred8tr

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of thenelson
thenelson

I have frequently found Access databases that were developed on pre Vista fail for various random reasons on Vista. Decompiling and recompiling on Vista usually resolves these problems. Try that first.

To decompile then recompile:
   in run: msaccess "dbPathName.mdb" /decompile
   Compact/repair:  in run: msaccess "dbPathName.mdb" /compact
   compile: in VB editor: debug> compile
   Compact/repair

   http://www.granite.ab.ca/access/decompile.htm