Hola a todos. Soy nuevo en crystal reports. Utilizo el 11. LLevo unos pocos días intentando realizar consultas en sql de un informe que cree en la aplicación y que después agregué en visual basic 6.
Como era mi primer reporte, cree un informe sencillo en la aplicación que mostrase usuarios y codigos de usuario. Posteriormente agregué el informe al vb y generó un código tal que así de forma automática:
Dim Report As New CrystalReport1
Private Sub Form_Load()
Screen.MousePointer = vbHourglass
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
Screen.MousePointer = vbDefault
End Sub
Private Sub Form_Resize()
CRViewer1.Top = 0
CRViewer1.Left = 0
CRViewer1.Height = ScaleHeight
CRViewer1.Width = ScaleWidth
End Sub
Luego también observé que la ventana de diseño que aperecía en la aplicación de c.r. volvía a aparecer de nuevo en el v.b. curiosamente y que podía ir añadiendo campos ahí y a través de código llamar a esos campos y utilizarlos.
Ahora bien, mi primera prioridad, era realizar un filtro a lo que yo había definido en el reporte, usuarios y codigos. Así que leyendo otros posts del foro añadí el siguiente código:
Public Rst_Conect As New ADODB.Connection
Dim sql As String, rst As New ADODB.Recordset
Dim Report As New CrystalReport1
Private Sub Form_Load()
Rst_Conect.ConnectionString = "driver={SQL Server};server=SQLSERVER;uid=sa;pwd=***;database=***"
Rst_Conect.Open
'Origen de Datos'
sql = "Select MTAutores.AUTNombre from MTAutores where MTAutores.AUTCodigo=25"
rst.Open sql, Rst_Conect, adOpenStatic, adLockOptimistic
Report.Database.SetDataSource rst
Screen.MousePointer = vbHourglass
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
Screen.MousePointer = vbDefault
End Sub
Private Sub Form_Resize()
CRViewer1.Top = 0
CRViewer1.Left = 0
CRViewer1.Height = ScaleHeight
CRViewer1.Width = ScaleWidth
End Sub
He añadido un recordset y le he peusto como origen de datos mi consulta y se la he pasado con el datasource. Resulta que tb son mis primeros pasos en vb y es empezar dando cañonazos.
Está bien? No me acaba de funcionar el informe.
Gracias por vuestra ayuda.