>Hi Ed,
>>>When trying to add a record I get this message:
>>>"Table tableName has one or more non-structural indexes open. Please close them and try the Begin Transaction again."
>>>Can someone tell me what this means and how to solve it, please?
>>
>>It means you have an index aside from the structural .CDX open against the table (maybe you did something like INDEX ON
blah TO
woof, creating a .IDX); you need to close them down within the scope of the transaction.
>
>I get that message once in awhile too. I often index views to allow for different sorts in grids. However, I NEVER use the TO clause in the index command. Do you know of any other way that a non-structural index is created?
You can create a non-structural .CDX using the TAG
blah OF
woof.CDX clause; I haven't checked, but it may be that creating a single index on a read-only cursor results in a non-structural CDX as well; I haven't tested, but it would make sense given the behavior of indexes on cursors from SQL Selects (you can create one index on the result of a SELECT... INTO CURSOR, but to have more than one, you have to reopen the cursor in read/write mode by USE AGAIN, so that the cursor's header can be updated - this would hint at the single index not being a structural index, since it's created without the ability to write into the header of the temporary table.)