Excelente ahora si que funciona!
Lo mas facil y sencillo, es hacer una vista que contenga los datos que se van a utilizar en el reporte.
Dejo el ejemplo por si a alguien mas le sirve.
Gracias
eperedo, como siempre buena onda.
Código vb.net:
Ver originalPrivate Sub visor_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
tNum2Text = New cNum2Text
Dim conexion As New SqlConnection(cadena)
Dim ds As New sistemaDataSet
Dim da As New SqlDataAdapter("SELECT * FROM VistaPrueba WHERE id_factura='" & idFactura & "'", conexion)
Dim resultado As String
resultado = tNum2Text.Numero2Letra(total, , , "peso", , 1, ).ToUpper()
Try
conexion.Open()
da.Fill(ds.VistaPrueba)
Dim reporte As New CrystalReport1
reporte.SetDataSource(ds)
Dim rptObject As ReportObject
rptObject = reporte.Section4.ReportObjects("txtvalor")
Dim txtValor As TextObject = DirectCast(rptObject, TextObject)
'txtValor.Text = "ESTO ES UN VALOR CUALQUIERA"
txtValor.Text = resultado
Me.CrystalReportViewer1.ReportSource = reporte
ds.Dispose()
da.Dispose()
Catch ex As Exception
MsgBox("Mensaje : " & ex
.Message) End Try
End Sub