Many thanks to both of you for your help. It will take me some thinking to assimilate The_Doc_Man's tutorial, but his explanation makes sense. I do have error handling in my procedures, but it's certainly possible that the code in those handlers isn't correct, or that I'm not fixing the error...