I have a main form using a query as data source in Acc XP. Users have design permission on the query. Certain events or conditions determine the query's SQL through VBA. Why is it that when the SQL is changed through VBA, programmatically requerying the form is not working (I've also tried including a querydefs refresh). The only way I can get the form to show the correct data according to the clearly changed and verifiable underlying query's SQL is to include a routine that closes and reopens the form. Thanks to anyone who knows how to avoid that last step and get the requery to do what it should.