Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/08/2013, 08:18
wwwmaster
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 21 años, 5 meses
Puntos: 37
Respuesta: AUXILIO CRYSTAL REPORTS vb.net con dbf

Depende de la version de Visual Studio que tengas, deberas instalarte el PLUGIN DE CRYSTAL REPORTS (Designer), cuando vayas a instalar la aplicación deberas instalar el Run time en el equipo cliente donde se vaya a aejecutar.


Crystal ahora es parte de SAP y cuando abres un .RPT se abre dentro del Visual Studio.
Existen 2 maneras principalmente de alimentarle la información:
1.- Via conexion directa a la base de datos
2.- Via Datasets (datatables)

En la 1a opcion, al Crystal se le indica la instruccion SQL que habra de ejecutar contra la fuente de datos, incluyendo el "WHERE" para filtrar los registros. Requiere que desde programación le indiques el nombre de la database, usuario y password. Para el caso de los DBF's supongo que necesitaras un driver (ODBC)

EN la 2a opcion, el programa accede a los datos, carga los datatable que son parte de los datasets y PASA EL DATASET al reporte como Datasource, de esta manera si ya tienes los datos en tu programa, el Crystal Reports NO NECESITA ACCEDER directo a las tablas en la database, solo recibe el "provider" y tiene lo necesario.

Las tablas "DBF" son nativas creo de "Dbase", con un software como Foxpro para windows puedes obtener un driver, tambien se pueden salvar como "DBF" desde excel creo, o bien se pueden leer desde excel, ya no deben ser muy usadas, supongo que muchas de ellas ya se migraron a otras databases.

Otra alternativa (algo mas incomoda pero valida) es crear un "link" desde Access (Microsoft) como database linkeada y tambien desde alli ya puedes por ejemplo hacer un "join".

Te mando un ejemplo de como estoy generando un reporte en Crystal Reports desde VB.net


Cita:

rptdoc = New ReportDocument

'Carga dataset
'social.msdn.microsoft.com/Forums/pt-BR/d34ec549-493f-4141-8108-86d485f597ad/problema-con-crystal-report
' Para tablas unicas: 'rptdoc.SetDataSource(Me.dtCABECERO_JAGP)
rptdoc.Database.Tables(0).SetDataSource(Me.dtCABEC ERO_FACTURAS)
rptdoc.Database.Tables(1).SetDataSource(Me.dtDETAL LE_FACTURAS)

rptdoc.Load("c:\planilla\machoteFactura.rpt"

rptdoc.SetParameterValue("CrXmlSello", sello)
rptdoc.SetParameterValue("CrNumSerie", Certificado)
rptdoc.SetParameterValue("CrXmlCadena", cadena)

Dim CrExportOptions As ExportOptions
Dim CrDiskFileDestinationOptions As New DiskFileDestinationOptions()
Dim CrFormatTypeOptions As New PdfRtfWordFormatOptions()

CrDiskFileDestinationOptions.DiskFileName = la ruta al PDF


' Exportaremos el Crystal como PDF
With CrExportOptions
.ExportDestinationType = ExportDestinationType.DiskFile
.ExportFormatType = ExportFormatType.PortableDocFormat
.DestinationOptions = CrDiskFileDestinationOptions
.FormatOptions = CrFormatTypeOptions
End With

'Si deseas visualizar en pantalla usas el Viewer
Form1.CrystalReportViewer1.Visible = True
Form1.CrystalReportViewer1.ReportSource = rptdoc
Form1.CrystalReportViewer1.Show()