Actually, I think I found part of the issue: one of the controlSources was a iif into a lookup table on a view with an index set.
The view is created as:
=REQUERY('vLookup')
Select vLookup
Index on Code to VocabIndex
This view is created from a larger table Lookup.
ControlSource = "IIF(Seek(trim(CaseSQL.EvType), 'vLookup','VocabIndex'),vLookup.Name)
This syntax used to work fine if I was using just the table for the lookup but now with the view it works on the first instance only.
I think Naomi might be right in that it has something to do with the NOFILTER idea. That is, the view is actually just the filtered table but a true cursor.
So, question is, how do I force the view to be a real cursor? I build the view in the view designer and do not see any where assign the NOFILTER option.
The hunt continues
>You must change the line
Append From CaseSQL_X into
Append From dbf('CaseSQL_X')>
>>Yea, I thought of the NoFilter. Added to make sure but still the same.
>>
>>I tested an old system and it is working fine.
>>
>>Grid RecordSource is set to "CaseSQL"
>>
>>The initialize function in LOAD method of the form is:
>>
>>
>>Select * from Event Where .F. into Cursor CaseSQL READWRITE NOFILTER
>>
>>Select * from Event Into Cursor CaseSQL_X NOFILTER
>>
>>Select CaseSQL
>>ZAP
>>Append From CaseSQL_X
>>Use in CaseSQL_X
>>
>>
>>Subsequent requeries use the same method of Selecting into a temp cursor (CaseSQL_X) and zapping and appending into the CaseSQL cursor.
>>
>>Again, first run works fine. Second instance the Grid loses its columns (now I see that even Column1 does not exist).
>>
>>Also, I am retracing an old system where this exact code is working on the same network.
>>
>>Very confused.......