Ho un problema con un report

Ho una form aperta con 6 controlli, connessi ad un DB
Io voglio stampare questi 6 controlli

Ho creato il mio datarport ed ho posizionato i miei controlli, ed ho messo il nome dei campi nella casella DATAFIELD.

Non sapendo come fare, perchè sono alle prime armi nel pulsante della form ho scritto questo:

Private Sub Command2_Click()

Set Cn4 = New ADODB.Connection
Cn4.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source= " & App.Path & "\Impegno.mdb"

Set rsRecordSet4 = New ADODB.Recordset

Set rsRecordSet4 = Cn4.Execute("SELECT ID,Pdm1,Pdm2,Impianto1,Impianto2,Treno,Ritardo,Sta zione,Locomotiva,DepLocomotiva,Rapporto,Calendario From Impegnorighi where [ID] = ' " & ID.Text & " ' ")

Set DataReport1.DataSource = rsRecordSet4
Load DataReport1
DataReport1.Show vbModal
End Sub


PURTROPPO MI DA ERRORE, sono riuscito a capire dove sta l'errore. Non riese ad estrarre i DATI basandosi sull ID presente nella FORM

Infatti nel codice ho messo: where [ID] = ' " & ID.Text & " '
Il problema è proprio li, perchè se al suo posto scrivo:
where [ID] = " 240 "
Cioè il numero ID diretto, lui mi stampa correttamente il report, con i dati che si riferiscono a quel recordset

Come faccio per sistemarlo????

C'è un modo COMPLETAMENTE diversi per dire di stampare i dato che visualizzo nella form senza creare un nuovo recordset????

Ciao e grazieeeeeeeeeeeee