>What exactly you didn't understand? This code sets SET ESCAPE ON and also ON ESCAPE queryHalt = .t.
>QueryHalt should be declared as private variable and set to .f. So, you would know, if user presses ESC by examing this variable. After select statement was ran, you have to restore original settings. That's why they are first saved, then restored... I just take out some code from our Query engine, you can modify it to fit your needs.
>
>Finally, you would be able to stop query only after the progress bar appears (that's why set talk on [I would also add SET TALK WINDOWS NOSHOW]). Sometimes, the joining part takes a long time, but you have no control to stop it...
>
>>I´m sorry, but I didn´t understand. Am I missing something? Could you please explain it to me?
>>
I didn´t understand, why setting a variable to .T. would stop a SELECT statement.
Regards,