Crystal Report - CrystalReport mediante codigo

 
Vista:

CrystalReport mediante codigo

Publicado por Hama (2 intervenciones) el 13/06/2008 19:27:16
Hola a todos,

Me gustaría que alguien me dijera si es posible crear un Crystal Report mediante código. Es decir, crear en tiempo de ejecución las columas del informe, el encabezado, etc... según cada caso.

Gracias por adelantado!

Un saludo!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:CrystalReport mediante codigo

Publicado por R.alonso (3 intervenciones) el 16/06/2008 13:59:32
Si usas el objecto CrystalReport viewer creo que no.
si usas el RDC (informes embebidos en el proyecto VB) estoy seguro de que sí.
Yo lo probé en su día y si que funcionaba. Era bastatante trabajoso, pero sí que se puede.

Si puedes, te recomiendo te reemplateses el añadir los controles dinamicamente, pero lógicmanete si preguntas esto... es porque no te queda otro remedio.
Acabo de recordar que tengo un proyecto por ahí con esto...

Paque veas como menroyo... te lo envio a tu correo...
y dejo algo de código aquí para los que vengan...



Private Sub Form_Load2()
Screen.MousePointer = vbHourglass
Set Application = CreateObject("CrystalRuntime.Application")

'Crea un nuevo informe vacio
Set Report = Application.NewReport

'Abre una nueva conexión de datos
Set ADOConnection = New ADODB.Connection
ADOConnection.Open "Provider=MSDASQL;Persist Security Info=False;Data Source=Xtreme Sample Database;Mode=Read"

'Crea una nueva instancia de un objeto Command de ADO
Set ADOCommand = New ADODB.Command
Set ADOCommand.ActiveConnection = ADOConnection
ADOCommand.CommandText = "Orders"
ADOCommand.CommandType = adCmdTable

'añade el origen de datos (la tabla Pedidos de XTREME) al informe
Report.Database.AddADOCommand ADOConnection, ADOCommand

'Añade el logo y el título del informe
Dim ReportTitle As CRAXDRT.TextObject

'Esta linea asume que Crystal Reports está instalado en la ubicación por defecto
'en la unidad C: - buscará el logo de Xtreme aquí

Report.Sections(1).AddPictureObject "C:Archivos de ProgramaSeagate SoftwareCrystal ReportsSamplesDatabasesXtreme.bmp", 1000, 75

Set ReportTitle = Report.Sections(1).AddTextObject("Detalles de pedidos de FedEx", 6000, 400)

'Da formato al título
With ReportTitle
.HorAlignment = crHorCenterAlign
.LeftLineStyle = crLSSingleLine
.RightLineStyle = crLSSingleLine
.TopLineStyle = crLSSingleLine
.BottomLineStyle = crLSSingleLine
.HasDropShadow = True
.Font.Size = 18
.Font.Bold = True
.TextColor = &H808000
.Height = 500
.Width = 4500
End With

'Añade campos en la sección Detalles
Report.Sections(3).AddFieldObject "{ado.Order ID}", 750, 5
Report.Sections(3).AddFieldObject "{ado.Order Date}", 3150, 5
Report.Sections(3).AddFieldObject "{ado.Order Amount}", 5500, 5
Report.Sections(3).AddFieldObject "{ado.Ship Via}", 8850, 5

'Da formato al monto del pedido para tener el símbolo monetario por página
Report.Sections(3).ReportObjects(3).UseOneSymbolPerPage = True


'Crea y da formato al Total General del Monto del pedido en el Pie de Informe
Dim AmountTotal As CRAXDRT.FieldObject
'Creando una variable de objeto por separado evita profundizar en la jerarquía cuando se le aplica el formato
Set AmountTotal = Report.Sections(4).AddSummaryFieldObject _
(Report.Sections(3).ReportObjects(3).Field.Name, crSTSum, 6000, 750)
With AmountTotal
.Width = 1500
.Font.Bold = True
End With 'AmountTotal

Report.RecordSelectionFormula = "{ado.Ship Via} = 'FedEx'"

Screen.MousePointer = vbDefault

If MsgBox("A base report has been created. Do you wish to customize it with the Report Creation Wizard?", vbYesNo, App.Title) = vbYes Then
Set CRWizard.CrystalReport = Report
CRWizard.DisplayReportWizard
MsgBox "The modified report will now be displayed in Report Viewer"
End If 'MsgBox("A base report has been created...

CRViewer1.ReportSource = Report
CRViewer1.ViewReport

End Sub

'pd. el correo indicado aquí lo leo 1 vez al año mas o menso.(bueno.. lo borro si leer).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CrystalReport mediante codigo

Publicado por Hama (2 intervenciones) el 16/06/2008 16:15:29
Muchas gracias amigo!!

Probaré lo que me mandas que seguro que me es de gran ayuda!

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar