And if you switch the order (first disconnect ControlSource, then RowSource)?
You also didn't answer why do you need to re-create the cursor. May be you can use the same cursor?
>same
>
>>Use Requery() instead of Refresh()
>>
>>Also why do you need to recreate the cursor curItem?
>>
>>>Here is a sample of my code:
>>>WITH .cboDefects
>>> .RowSource = 'curSecondDefects'
>>> .ControlSource = 'curItemData.defect_id'
>>> .Refresh()
>>>ENDWITH
>>>
>>>
>>>Cursor "curItemData" is created before that code runs. Everything is fine for a first time. Second time I run this code I am getting an error:
>>>Alias 'CURITEMDATA' is not found. ....cbodefects.ControlSource 0
>>>
>>>I tried to disconnect cboDefects from data before curItemData" is recreated:
>>>WITH .cboDefects
>>> .RowSource = ''
>>> .ControlSource = ''
>>> .Refresh()
>>>ENDWITH
>>>
>>>Still the same error.
>>>What's interesting that I cannot reproduce the errror in the Debugger.
>>>
>>>Thanks for help.
If it's not broken, fix it until it is.
My Blog