>Instead of putting the code to create the indexes in AfterUpdateAll I moved it to AfterRequery in the cmRule. Dave told me to do that. I'll keep you posted if something else comes out of this approach.
Why would you always reindex a view after requerying it? That obviously is do-able but is inefficient. The code to create the indexes on views should, in the first place, be in cde Afteropenall event. This event fires once only after the CDE is instantiated. If you had a largish view (I know that a view is filtered by definition but never the less), whilst indexing is fast in VFP, it is still a task that is pointless after requerying a view. If the indexes exist before the requery, the requery will automatically update the indexes as the view is repopulated. So, in effect, each time you re-query a view, you are reindexing it twice.
-=Gary