Hola, antes que nada queria saludarlos a todos ya que es mi primer post. Y porque no arrancar mi primer post preguntando si alguien sabe o les paso lo que les voy a contar a continuacion:
estoy haciendo un programa para mi trabajo donde tengo sacar una impresion de unos contactos.
El codigo para mandar los contactos al reporte del crystal es el siguiente:
Private Sub Form_Load()
Dim cadena As String
Dim crystal As New CRAXDRT.Application
Dim reporte As New CRAXDDRT.Report
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Set crystal = New CRAXDRT.Application
Set reporte = New CRAXDDRT.Report
Set cnn = New ADODB.Connection
Set rst = New ADODB.Recordset
cnn.Provider = "MSDASQL"
cnn.ConnectionString = "Driver={SQL Server};Server=DANIELPCKELINE;Database=Keline;Uid =sa;Pwd=samka"
cadena = " select * from Clientes order by Codigo"
rst.Open cadena, cnn, adOpenDynamic, adLockReadOnly
Set reporte = crystal.OpenReport(App.Path & "Ejemplo2.rpt")
reporte.DiscardSavedData
reporte.Database.SetDataSource rst
Me.crViewer.ReportSource = reporte
Me.crViewer.ViewReport
rst.Close
cnn.Close
End sub
el problema es el siguiente si yo ejecuto el programa paso a paso osea con la tecla f8 no tengo ningun tipo de problema, pero si lo ejecuto normalmente me pasan 2 cosas.
1º Me sale el error:
Crystal reports Viewer
Details: Error Code: 0x800a0e78
Source: AdoDB.Recorset
Description: La operacion no esta permitida si el objeta esta cerrado
2º Cuando cierro el formulario donde esta el viewer y apreto la tecla stop de visual. El mismo e me queda colgado y enseguida me pone que el programa no responde.
Espero que me puedan ayudar... y dede ya muchas gracias a todos!!