Meglio evitare il DE... che non serve a un fico secco.
Si crea un recordset e lo si assegna al DataSource del DataReport,
ovvero bastano 4 righe di codice .

Supponiamo che il tuo oggetto ADODB.Connection si chiami CN (ovviamente deve essere aperto):

codice:
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset

rs.Open strNomeTuaQuery, CN, adOpenStatic, adLockReadOnly
Set rptTuo.DataSource = rs
Adesso dimmi: a che ti serve il DE?
Prima lo eviti, meglio sarà.