>>I have a table with fields including a date field, a character field and a logical field that stores the deleted status of the record - .T. = current, .F. = Deleted.
>>id = N(10)
>>Char = Name C(30)
>>Date = Birth date D(8)
>>Active = L(1)
>>among other fields
>>
>>When changes are made to a record a new record is created with the changes, Active = .T. and the active = .f. for the old record. Thus we have an audit trail of changes.
>>
>>How do I create an index on the character field so as to SEEK only those that are active.
>>
>>I use Locate for name = "MYNAME" and ACTIVE = .T. but this is too slow. I need SEEK so how do I create an index for this??
>>
>>Set filter to ACTIVE = .T. is also too slow. There are > 250000 records (including the non active ones)
>>
>>I need to
>>
>>Set ORDER to TAG myindextag
>>and
>>SEEK "MYNAME" which will give me an active record.
>>
>>Bernard
>
>You can use
>
>INDEX ON Name + TRANSFORM(Active)
Bang On!
Thanks for that.
Bernard