Visual Basic Foro

Programación => Bases de Datos => Mensaje iniciado por: Paulita en Junio 23, 2014, 09:33:00 pm

Título: No se actualiza los informe con Crystal Report 8, Sql Server y VB6
Publicado por: Paulita en Junio 23, 2014, 09:33:00 pm
Buenas noches! Siempre he trabajado con vb, Access y cristal reports 8 y no he tenido ningún problema. Pero ahora que estoy utilizando sql server para el sistema que estoy desarrollando, en cuanto a los reportes con cristal reports 8 es donde me presenta el problema.

Creo un informe nuevo, selecciono el proveedor sql server native client 11.0, busco la base de datos, la tabla y todo bien. Luego guardo el informe que cree y cuando trato de visualizarlo desde la aplicación de vb, me di cuenta que solo recupera los registros que aparecen al guardar el informe.

Detallo un poco más, si la tabla libros al crear el informe tenía 9registros, por muchos registros que le añada, modifique o elimine luego, siempre salen los 9. Este es el código que estoy utilizando para visualizar el reporte:

Estoy utilizando el control CrystalReport (.rpt)
With rptLibros
    .Reset
    .WindowTitle = "Asignatura"
    .ReportFileName = App.Path & "\Reportes\rptLibro.rpt"
    Dim estado As String
    estado = "Dañado"
    .SQLQuery = "SELECT Libro.cotaLibro, Libro.estadoLibro, Libro.fechaIngreso, Area.nombreAsignatura FROM Sistema.dbo.Libro Libro INNER JOIN Sistema.dbo.Asignatura Asignatura ON Libro.idArea = Asignatura.idAsignatura WHERE (Libro.estadoLibro = '" & estado & "') ORDER BY Libro.estadoLibro ASC"
    .WindowState = crptMaximized
    .WindowShowExportBtn = False
    .WindowShowPrintSetupBtn = True
    .Destination = crptToWindow
    .Action = 1
End With

Que puedo hacer para que me salga todos los registros con los nuevos registros?
Título: Re:No se actualiza los informe con Crystal Report 8, Sql Server y VB6
Publicado por: YAcosta en Junio 23, 2014, 10:11:52 pm
Que raro, y ¿como haces la modificación en la tablar? usas begin/commit. Si no fuera el caso ¿segura que estas modificando los registros pertinentes a tu consulta? Si yo tengo una tabla con 1000 registros y 9 son de Peru, mi consulta me entrega esos 9 porque filtre por Peru. Luego borro 30 registros con Argentina y agrego 20 de España... mi query seguirá dándome 9 ¿checaste eso?
Título: Re:No se actualiza los informe con Crystal Report 8, Sql Server y VB6
Publicado por: Paulita en Junio 23, 2014, 11:15:12 pm
Hola YAcosta gracias por responderme. Si cheque esa parte,  hasta borre los datos que tenia la tabla y luego le agregue como 20 registros y me salia los 15 que tenia antes, es como si el reporte no se actualizá, por eso también me parece extraño :(
Título: Re:No se actualiza los informe con Crystal Report 8, Sql Server y VB6
Publicado por: YAcosta en Junio 23, 2014, 11:55:25 pm
Es curioso... Supongo que ya probaste ese query en el mismo Access. ¿No sera que te estas conectando a otra DB?
A ver ¿puedes probar ese query pero en vez de pintarlo en el CR pintalo en un grid.
Si se pinta bien mostrando los cambios el problema esta netamente en el CR y hasta allí llegaría porque no lo uso.

Entiendo que rptLibros es el reporteador en si, no se si esa es la forma de trabajar con el CR pero por lo que leo en tu code lo primero que haces es resetear,  luego le asignas el archivo ¿?, luego armas el query,  y luego otras propiedades de menor relevancia... así funciona?, con rptLibros.SQLQuery ya se debe ejecutar el query en el reporte?

Disculpa que no te pueda ayudar mas eficientemente pero tampoco conozco del CR, ojala alguien nos eche una manito.

Saludos
Título: Re:No se actualiza los informe con Crystal Report 8, Sql Server y VB6
Publicado por: lucius en Junio 24, 2014, 08:17:18 pm
Hola como esta bueno hace muchos años, bueno creo que como 4 o 5 intentaba utilizar el cr8/8.5 con vb6 con sqlserver2000 y access2003 y fue todo un lio, al final saque mis conclusiones de que la version 8/8.5 solo era compatible con access2003(pero solo cuando tenia el formato de access97 corria al 100% por decirlo de alguna manera) segun recuerdo tenia el mismo problema de que no me actualizaba y lo mismo me paso con el sql2000, creo que logre solucionarlo utilizando el control crystal report dentro de un formulario con lo cual es tamaño del proyecto crecia(ya no recuerdo bien o quizas nunca lo soluciones porque hasta ahora no utilizo CR), cuando lo conectaba por medio de la ruta como lo haces tú por nada del mundo me actualizaba.
Creo que si alguien quiere solucionarlo tendra que instalarlo y probarlo por si mismo(quizas en una maquina virtual), el error que mencionas de NO ACTUALIZA es del mismo CR8 segun mi opinion, espero alguien del foro se anime porque en ese entonces yo tire la toalla.
Título: Re:No se actualiza los informe con Crystal Report 8, Sql Server y VB6
Publicado por: YAcosta en Junio 24, 2014, 09:03:09 pm
A mira que interesante, no sabia ese tema del CR.  Y por curiosidad ¿que reporteador estas usando ahora?
Título: Re:No se actualiza los informe con Crystal Report 8, Sql Server y VB6
Publicado por: lucius en Junio 24, 2014, 11:05:03 pm
Lo que mencione anteriormente es sin confirmar porque no recuerdo como termino el asunto. :P

Utilizo datareport pero quizas en algun momento me aventure a desarrollar aplicaciones $ y tendre que optar por otro(Dependiendo del proyecto :P).
Título: Re:No se actualiza los informe con Crystal Report 8, Sql Server y VB6
Publicado por: ssccaann43 en Junio 25, 2014, 01:52:48 pm
1.- Lo primero que debes hacer es quitarle la opción de (SAVE DATA WITH REPORT) en el Crystal.

2.- Lo más lógico es que aprendas a usar ODBC, creas un ODBC y este lo llamas en el reporte para agregarle las tablas que sean necesarias y poder mostrar información al respecto.

3.- En VB agregas el Componente de Crystal, y mediante código pasas los parámetros de conexión que en teoría es el ODBC creado anteriormente, y posteriormente muestras el reporte.

No es complicado, solo es cuestión de que aprendas a realizarlo de la manera correcta.

Saludos
Título: Re:No se actualiza los informe con Crystal Report 8, Sql Server y VB6
Publicado por: Paulita en Junio 26, 2014, 12:53:54 am
Holaa. Gracias YAcosta, lucius y ssccaann43 por responderme, lecomento que le quite la opción de (SAVE DATA WITH REPORT) y al código le agregue esta línea: .DiscardSavedData = True y hasta los momentos me ha actualizado el reporte.

Con respecto a los ODBC como los puedo crear para sql server?

•   Para los reportes estaba haciendo estos pasos:
•   Seleccionaba abrir Seagate Crystal Reports.
•   Luego seleccionaba la opción Mediante el Asistente de Informes.
•   y en la Opción de Base de datos, me salía un cuadro de explorador de datos, allí seleccionaba el ítem:
Es así que se debe de realizar?, Me gustaría aprender, es la primera vez que hago reportes con una base de datos sql server, ya que antes trabajaba con Access, este sistema va trabajar en una sola pc por lo tanto sería local

Título: Re:No se actualiza los informe con Crystal Report 8, Sql Server y VB6
Publicado por: ssccaann43 en Junio 26, 2014, 09:54:49 am
Si va a trabajar solo en una PC y no es algo complejo, entonces siguelo trabajando así... El ODBC es para trabajar en RED, es más simple de usar y en efecto mucho mejor...!

Saludos
Título: Re:No se actualiza los informe con Crystal Report 8, Sql Server y VB6
Publicado por: Paulita en Junio 28, 2014, 12:45:32 pm
Ok muchas gracias ssccaann43  :)