Hey NotAllThere
I have been trying some of the things you suggested. The code as it stands is shown below
custTbl.attach("c:\\corel\\suite8\\paradox\\private\\partslist.DB"

if custTbl.isTable() then
custTbl.enumFieldStruct("c:\\corel\\suite8\\paradox\\private\\newstructure.DB"

if struct_tc.open("c:\\corel\\suite8\\paradox\\private\\newstructure.DB"

then
struct_tc.edit()
scan struct_tc:
struct_tc."_Table Lookup" = ""
struct_tc."_Table Lookup Type" = ""
endScan
struct_tc.close()
endIF
endIf
custTbl.unattach()
if modifiedTbl.attach("c:\\corel\\suite8\\paradox\\private\\partslist.DB"

then
if modifiedTbl.isTable() then
modifiedTbl.setExclusive(Yes)
if modifiedTbl.dropIndex(""

then
sleep(1000)
dynNewStru["FIELDSTRUCT"] = "c:\\corel\\suite8\\paradox\\private\\newstructure.DB"
if modifiedTbl.restructure( dynNewStru ) then
message ("Restructure: ", "Complete"

endIf
endIf
endIf
endIf
modifiedTbl.setExclusive(No)
modifiedTbl.unattach()
The 'message' step now executes suggesting the 'Restructure' is working, and it is in part. The indexes are removed from partslist.DB following the dropIndex call and replaced following the Restructure, however the Table Lookup is more stubborn and will not let itself be deleted.
If I remove the dropIndex step the Restructure fails.
Thanks for your time.
Steve