Para pasar datos de un control hacia el reporte, debes usar la clase TextObject
Si no me falla la memoria el código es algo así:
Código vb.net:
Ver originalDim campo1 As New TextObject()
campo1 = Ctype(reporte.ReportDefinitions("caja_texto_crystal_reports"),TextObject)
txtCodigo.Text = txtDelFormulario.Text
reporte viene a ser una variable instanciada de la clase ReportDocument
Espero te de una idea.