I currently need to change the location of some DBF files at runtime.

I am using PEGetNthTableLocation and PESetNthTableLocation successfully, however, if the table I want to change the location of is indexed, then the MDX file does not get changed and I get a 534 error (PE_ERR_ERRORINDATABASEDLL).

For example

I have 2 tables

Table1 --------> Table2

Table 2 is indexed, and hence we have an MDX file; i.e

When I use the PEGetNthTableLocation method it successfully returns the path of Table2 (which has since been removed).

I then set the new location of table2 successfully.
All seems fine, however when I try and run the report I get a 534 error as the orignal files have been removed. If I add the original Table2.MDX file back to its orignal place, all is well.

It looks to me that PESetNthTableLocation only sets the location of the DBF file and not the associated MDX.

Can any one help?


I am using Crysal 8.5