Necesito información sobre la instalación y funcionamiento de consultas con crystal report 8.5
Quiero empezar a usar el crystal report 8.5 en un sistema de estoy desarrollando anteriormente usaba el Print o el DataReport, pero por lo que he visto en los foros el crystal report es mucho mejor, la consulta es al momento de instalar el sistema en la pc del cliente, ¿necesito instalar también todo el crystal report 8.5?. Agradecería algún manual o ejemplo para poder iniciarme con el crystal report 8.5.
Anticipadamente muchas por tu ayuda.
Por acá no puedo mandarte un manual, y ayudarte lógicamente y algo de código si es que vas necesitando. Tienes 2 maneras de hacer los reportes, el primero es crear el reporte en el visual con el componente del crystal y después cuando lo instalas en el cliente supuestamente instala las dll, pero puede fallar.. La segunda es trabajar en el crystal, armar el reporte y desde el visual solo llamar para que se vea, de esta manera menos carga para el visual y solo tienes que preocuparte de llamarlo con parámetros, stored procedure, vistas del sql, pero para el anterior lo mismo, tienes que cargar las dll y probar. Sino en un caso extremo, instalas el crystal en el cliente y shhhh. Te recomiendo la segunda opción, lo tienes todo más separado el sistema. Acordate siempre de instalar los reportes en una carpeta donde el sistema los pueda ubicar. Por acá más de eso para empezar no se me ocurre, investigate mucho de ambos y decidí por el que para tu sistema resulte menos laborioso.
La verdad lo veo untato complejo, lo de instarlo no me gusta mucho. Y otra manera de diseñar mis reportes
Se que es complejo, pero si venias imprimiendo con el printer te vas a ahorrar casi el 80% del trabajo. Cuesta comenzar pero después te va a ayudar mucho. Pensalo de esta manera, creas un procedimiento en sql y solamente tienes que agregarlo al crystal, ponerle los cuadritos y solo te arma el reporte. O podes crear grupos para darle un order al reporte, como si fuera while anidados. Si, obviamente lo de instalarlo es poco común. Lo que podes hacer es investigarlo por la parte de incorporarlo dentro del visual basic, así de esa manera el ejecutable ya te instala todo. Tienes que agregar el componente de crystal al visual.
Gracias por tu respuesta. OK. Tendrás algunos ejemplo para mandar parámetros desde visual basic al crystal. Si no de todas maneras muchas gracias.
Te paso lo que uso yo. Cree un form y le puse un componente crviewer después de otros form le paso el nombre del reporte que quiero que abra y uso este procedimiento Public Sub VerReporte(ReporteNom As String, Conc_Sel As String, _ Estado As Integer, OrdenSel As Integer) Dim crParamDefs As CRAXDRT.ParameterFieldDefinitions Dim crParamDef As CRAXDRT.ParameterFieldDefinition On Error GoTo ErrHandler 'Abrir el reporte Screen.MousePointer = vbHourglass 'Variables de referencia para los informes 'Dim CApplication As New CRAXDDRT.Application 'Dim WithEvents cReport As CRAXDDRT.Report Set crReport = Nothing Set crReport = crApp.OpenReport(App.Path & "\reportes\" & ReporteNom, 1) crReport.DiscardSavedData crReport.EnableParameterPrompting = False 'crReport.Application.LogOnServer "pdssql.dll", "LEANDRO", "SISTEMANEWASIS" For i = 1 To crReport.Database.Tables.Count 'crReport.Database.Tables(i).SetLogOnInfo "LEANDRO", "SISTEMANEWASIS" Next i mflgContinuar = True Set crParamDefs = crReport.ParameterFields ' Parametros del reporte 'cada parametro es exactamente igual el nombre en el reporte 'lo creas en el crystal y aca le tenes que poner el mismo nombre 'para el sistema que uso estos parametros son los mas basicos, si el parametro no esta el crystal no hace nada, solo toma los que aparecen 'para algo mas complejo ya uso stored por el sql For Each crParamDef In crParamDefs Select Case crParamDef.ParameterFieldName Case "AñoSel" crParamDef.AddCurrentValue (AñoSel) Case "TipoSel" crParamDef.AddCurrentValue (TipoLiqSel) Case "Messel" crParamDef.AddCurrentValue (MesSel) Case "MadreSel" crParamDef.AddCurrentValue (CodMadreSel) Case "SubColSel" crParamDef.AddCurrentValue (SubColSel) Case "NombreCol" crParamDef.AddCurrentValue (SubColNombre) Case "Parametro1" crParamDef.AddCurrentValue (Parametro1) Case "NombreMes" crParamDef.AddCurrentValue (MesSelNombre) Case "ConceptoSel" crParamDef.AddCurrentValue (Conc_Sel) Case "OrdenSel" crParamDef.AddCurrentValue (OrdenSel) Case "Tipo_Estado" crParamDef.AddCurrentValue (Estado) End Select Next CRViewer.ReportSource = crReport CRViewer.DisplayGroupTree = False CRViewer.ViewReport Screen.MousePointer = vbDefault Set crParamDefs = Nothing Set crParamDef = Nothing Exit Sub ErrHandler: If Err.Number = -2147206461 Then MsgBox "El archivo de reporte no se encuentra, restáurelo de los discos de instalación", vbCritical, vbOKOnly Else MsgBox Err.Description, vbCritical + vbOKOnly End If mflgContinuar = False Screen.MousePointer = vbDefault end sub