Why VBA to create query object? Just copy/paste the SQL statement into SQL View of query builder opened from the ribbon and save it so it is an object in the Navigation Pane. No need to repeatedly delete and create.
What is the form's RecordSource? Does it reference table or query or SQL string? Provide the SQL statement.