without the doevents the access app will "lock" until the loop finishes. which may be exactly what you want in some cases - ie put the hourglass up, and wait - or include a progress meter.
adding the doevents lets access deal with other events - so you can continue to interact with the app - which may improve the user experience - but you need to be careful in case you do stuff that may affect the loop itself.