Neither are very good. Using cursor means you can never test your view without the cursor being created. Using public variables means that other routines can step all over the variable's values. Use LOCAL variables and create them just before you Requery() the view.