Usuario
VB2010 - Problema con reporte de Crystal Reports

Pregunta
-
Estimados
tengo una rutina en que debo generar diferentes informes, de acuerdo a la consulta. Pero solo cambian los nombre de los archivos pero el contenido se mantiene de la primer registro.
Private Sub Imprimir() If Not My.Computer.FileSystem.DirectoryExists(MisDocumentos) Then My.Computer.FileSystem.CreateDirectory(MisDocumentos) End If If oDataBuscar5.Rows.Count > 0 Then For Each fila As DataRow In oDataBuscar5.Rows() Dim oInforme As New crGesRealidad Dim mi_oDataReportes As New oDataReportes Dim oSistema As Integer = CInt(fila("SIS_COD")) Dim SisNombre As String = CStr(fila("SIS_CODE")) oDataBuscar = oCC.BusquedaCostos(CDate(Fecha).ToString("yyyy"), oSistema).Tables("Centros") mi_oDataReportes.GesRealidad.Merge(oDataBuscar, True, System.Data.MissingSchemaAction.Ignore) oInforme.SetDataSource(mi_oDataReportes) Dim Archivo As String = "/Informe de Realidad " & CDate(Fecha).ToString("yyyy") & "-" & SisNombre & ".pdf" oInforme.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, MisDocumentos & Archivo) oInforme.Close() Next End If .... .... End Sub
- Cambiado Enrique M. Montejo miércoles, 4 de enero de 2012 6:36 consulta Crystal Reports (De:Lenguaje VB.NET)
Todas las respuestas
-
Marco,
¿Cuál es la pregunta/problema?
Si me lo permites, te sugiero que uses la clase Path para obtener el nombre del archvo. En vez de MisDocumentos & Archivo puedes hacer Path.Combine(MisDocumentos,Archivo). La ventaja de esta clase es que se encarga de manejar los separadores "\" y te garantiza que te construye un Path válido.
Otra idea que te propongo es que uses una notación uniforme para los nombres de clases y objetos. Acá tienes clases cuyo nombre comienza con "o" y luego objetos cuyo nombre comienza con "o". Yo personalmente me he confundido tratando de entender el código.
Saludos,
Y.
Si la respuesta te ha servido, márcala como útil. -
Gracias por tus consejos, el problema que presento es que tecnicamente con esa rutina debería generar cinco reportes. Efectivamente los genera, cada uno los nombres de ruta que corresponden "Informes de Realidad 2012 - A.pdf", "Informes de Realidad 2012 - B.pdf" y así, sucesivamente por ejemplo. Pero su contenido, o sea la información que debiera mostrar solo corresponde a uno de ellos, o sea el contenido del informe A se repite en los cinco reportes, aunque la ruta esten bien.
-
Déjame ver si entiendo el problema:
Quieres generar 5 reportes, todos con el mismo formato, pero con datos distintos. El problema, casi seguramente, no tiene que ver con Crystal sino con lo que haga la clase oDataReporte y lo que pasa en estas dos llamadas:
oDataBuscar = oCC.BusquedaCostos(CDate(Fecha).ToString("yyyy"), oSistema).Tables("Centros")
mi_oDataReportes.GesRealidad.Merge(oDataBuscar, True, System.Data.MissingSchemaAction.Ignore)
Suerte con eso.
Saludos,
Y.
Si la respuesta te ha servido, márcala como útil.- Propuesto como respuesta Yván Ecarri jueves, 5 de enero de 2012 7:56