Can you open the query in designer view, and then click Query in the text menu, and then select Make Table query. This will make a table from your query results, which is good for the first run. Then change the query to an Append query for subsequent runs. Then also create a delete query for the new table. Then each time you want to fill the table, do this with your code:
This will clean out old data, and repopulate your table with new data. Then DoCmd.OpeReport etc.
Did that help?
Look it up at: http://wrox.books24x7.com