>>>>If during development, debugging (in VFP IDE) you get error
>>>>"Data session ## cannot be released with open transactions" how do you get around it, without having to End the Task in the Task Manager?
>>>
>>>snippet out of the QUERYUNLOAD of my forms
>>>
>>> IF .DATASESSION=2 THEN
>>> lnLoop1 = TXNLEVEL()
>>> DO WHILE lnLoop1>0
>>> ROLLBACK
>>> lnLoop1 = lnLoop1-1
>>> ENDDO
>>> lnLoop1 = AUSED(laTables)
>>>
>>> FOR lnLoop2 = 1 TO lnLoop1
>>> IF CURSORGETPROP('BUFFERING',laTables(lnLoop2,1))>1 THEN
>>> TABLEREVERT(True,laTables(lnLoop2,1))
>>> ENDIF
>>> ENDFOR
>>>*SF 08.09.2003 Close Tables moved to DESTROY
>>>*!* CLOSE TABLES ALL
>>>* CLOSE ALL EXTENDED
>>> ENDIF
>>>
>>>
>>>HTH
>>
>>Thank you. I will try your code.
>
>You may want to wrap it in a loop going through each row returned by asessions(). When you're back in the command window, you are, by default, in session 1. Your unfinished transaction may be in some other session. Not sure if that's necessary for transactions (i.e. if ROLLBACK has to be issued within the same datasession where the BEGIN TRAN was issued), but for tablerevert() it is.
Thank you.
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham