• Jueves 28 de Marzo de 2024, 20:01

Autor Tema:  Problemas Con Crystal Report+sql Server Y Visual B  (Leído 11316 veces)

migueles2

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Problemas Con Crystal Report+sql Server Y Visual B
« en: Miércoles 1 de Septiembre de 2004, 11:55 »
0
Llevo utilizando VB, Access y Crystal Report durante mucho tiempo sin ningún problema. Ahora hemos migrado a SQL Server y con respecto a VB con SQL Server, todo bien, pero, cuando creamos los informes con Crystal Report es dónde aparecen los errores.
Creo un informe nuevo, busco la base de datos de SQL Server, la tabla y todo bien. Guardo el informe y me dispongo a recuperarlo desde la aplicación de VB y mi sorpresa es que sólo recupera los registros que aparecen al guardar el informe. Me explico: Si la tabla en cuestión que recupera el informe tenía 10 registros a la hora de crear el informe, por muchos registros que añadas o elimines o modifiques, siempre te saldrán los 10 en cuestión.

Voy a ser un poco más específico:

ESTO ES LO QUE PONGO EN VISUAL BASIC


Dim BaseSql As ADODB.Connection
Dim ConCrystal As String
Dim StrConexion As String

'**********************************
'Crear la conexión
'**********************************
Set BaseSql = New ADODB.Connection

StrConexion = "provider=SQLOLEDB; data source=" & v_SQLServ & ";initial catalog=" & v_SQLBdD & ";uid=" & v_SQLUser & ";pwd=" & v_SQLPassw

BaseSql.Open StrConexion

ConCrystal = "DSN=SQLGAP;UID=" & v_SQLUser & ";PWD=" & v_SQLPassw & ";DSQ=" & v_SQLBdD

'************************************************************
'El informe está creado con los campos de una tabla temporal,
'por lo cual, su contenido varía de un informe a otro.
'
' basesql.execute "delete from tabla_temporal"
'
' basesql.execute "insert into ..."
'************************************************************

Cr1.Reset
Cr1.Connect = ConCrystal
Cr1.WindowTitle = "Titulo del Informe"
Cr1.ReportFileName = "informe.rpt"
Cr1.WindowState = crptMaximized
Cr1.Destination = crptToWindow
Cr1.PrintReport


Ahora tendría que aparecer un informe con los nuevos registros, pero no es así. Salen los registros existente en la tabla cuando cree el informe.
Me estoy volviendo loco...

Marqué la opción de verificar la BdD en cada impresión, pero nada de nada.


Espero vuestra ayuda. Un saludo y gracias por todo.

seek20

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: Problemas Con Crystal Report+sql Server Y Visual B
« Respuesta #1 en: Miércoles 1 de Septiembre de 2004, 21:53 »
0
Todavía sigues teniendo el mismo problema???, tengo algunos tips que creo que serán de utilidad para ti, pero que versión de Crystal estás utilizando???. Espero respuesta.

Loquillo

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Problemas Con Crystal Report+sql Server Y Visual B
« Respuesta #2 en: Miércoles 1 de Septiembre de 2004, 22:10 »
0
Una de las posibles causas, es que no esté grabando los registros al momento de generar el informe, dos, al momento de crear el informe, marcastes la opción que dice Save Data with Report, eso impide le regeneración de los datos.

También puedes probar con
adoconexion.BeginTrans
procesos de borrado
...
proceso de grabación
...
adoconexion.commit
...
...
generación del reporte
...
...

Espero que eso te ayude.
Darwin Alvarado Marin
darwin_alvarado@hotmail.com

migueles2

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Problemas Con Crystal Report+sql Server Y Visual B
« Respuesta #3 en: Jueves 2 de Septiembre de 2004, 09:50 »
0
Cita de: "seek20"
Todavía sigues teniendo el mismo problema???, tengo algunos tips que creo que serán de utilidad para ti, pero que versión de Crystal estás utilizando???. Espero respuesta.
La versión de Crystal es la 8.0 y sí, aun sigo con el problema.

Loquillo, voy a probar lo que me dices a ver si sale y por cierto, la opción guardar datos con informe, SI la tenía marcada.

Voy a probar...

Luego os cuento. Gracias

migueles2

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Problemas Con Crystal Report+sql Server Y Visual B
« Respuesta #4 en: Jueves 2 de Septiembre de 2004, 10:02 »
0
Cita de: "Loquillo"
Una de las posibles causas, es que no esté grabando los registros al momento de generar el informe, dos, al momento de crear el informe, marcastes la opción que dice Save Data with Report, eso impide le regeneración de los datos.

También puedes probar con
adoconexion.BeginTrans
procesos de borrado
...
proceso de grabación
...
adoconexion.commit
...
...
generación del reporte
...
...

Espero que eso te ayude.
Ya he hecho las pruebas que me citastes:

Save Data with Report. Estaba marcado y lo quité, pero nada.

adoconexion.BeginTrans
procesos de borrado
proceso de grabación
adoconexion.CommitTrans
generación del reporte


También lo he probado, aunque no tiene mucha lógica, porque en la base de datos los cambios aparecen al momento y además, aunque vuelvas a ejecutar la aplicación para sacar el reporte al día siguiente, despues de reiniciar pc y servidor, sigue saliendo el que se quedó guardado en el reporte.

No se, no se... es algo raro. Seguiré comprobando cositas. Si teneis más ideas, estaría muy agradecido.

Un saludo.

seek20

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: Problemas Con Crystal Report+sql Server Y Visual B
« Respuesta #5 en: Jueves 2 de Septiembre de 2004, 17:31 »
0
Mira yo tengo la solución a tu problema, pero necesito saber si utilizas archivos rpt o los reportes están incrustados en tu aplicación como designers de crystal. La solución es que debes conectar tu reporte a la base de datos de sql y debes direccionar todas las tablas del mismo.

Este es el código que debes usar:

' Variable usada para crear el objeto reporte
Dim oReporte As New CRAXDDRT.Report

' Variable usada para hacer la referencia a los objetos tabla
Dim oTabla As CRAXDDRT.DatabaseTable

' En mi caso yo uso designers desde visual basic y dsrNotaEntrada es el nombre
'de mi designer
Set oReporte = dsrNotaEntrada

' Esta línea de código te ayuda a conectar tu reporte a la BD de SQL, las variables
' Server, DataBase, UserID, Pwd deben contener los datos necesarios para hacer
' la conexión con el servidor SQL
' Hay que tomar en cuenta que al crear el reporte este fue diseñado con una
' conexión OLE DB (ADO) y no con ODBC
oReporte.Application.LogOnServer "p2ssql.dll", Server, DataBase, UserID, Pwd

con la línea de código anteriro estarás logrando que tu reporte se conecte a la base
de datos, del servidor SQL que tú le indiques, además de firmarse al mismo con el
nombre de usuario y contraseña que le suministraste.

A todo este proceso le falta conectar las tablas, vistas o procedimientos almacenados que utilizaste para generar tu reporte y esto lo debes hacer barriendo cada una de ellas y pasandole los parámetros de la conexión al servidor SQL.

Esto a mi me ha dado muy buenos resultados y lo he usado desde la versión 8 del crystal reports hasta ahora que estoy haciendo mis primeros pininos en Crystal 10. Cualquier duda que tengas al respecto estoy a tus órdenes!!!

migueles2

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Problemas Con Crystal Report+sql Server Y Visual B
« Respuesta #6 en: Lunes 6 de Septiembre de 2004, 13:35 »
0
Gracias seek20.

Voy a probar todo esto y en cuanto lo haga te doy un toke...

Por cierto, utilizo rpt

migueles2

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Problemas Con Crystal Report+sql Server Y Visual B
« Respuesta #7 en: Lunes 6 de Septiembre de 2004, 14:34 »
0
Hola seek20.

Tengo varios problemitas y algunas dudas.

No consigo crear el objeto reporte
Citar
' Variable usada para crear el objeto reporte
Dim oReporte As New CRAXDDRT.Report

A su vez, no puedo hacer la referencia al objeto
Citar
' Variable usada para hacer la referencia a los objetos tabla
Dim oTabla As CRAXDDRT.DatabaseTable

y por último, perdona mi ignorancia, me gustaría saber de dónde sacas CRAXDDRT y que es un desinger.

Si te fijas, en el post principal, puse cual es la conexión que utilizo. Previamente agrego un componente a Visual Basic de Crystal Report (CRYSTL32.OCX)  que es el que inserto en el formulario y al que hago referencia en el post.

Es del mismo estilo que usaba con las BdD de Access, pero en el caso de SQL Server, sin existo. No muestra ningún error, sólo que no actualiza en el informe El contenido de la tabla. Aparece los registros guardados en el informe .rpt

Gracias y un saludo.

seek20

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: Problemas Con Crystal Report+sql Server Y Visual B
« Respuesta #8 en: Lunes 6 de Septiembre de 2004, 15:58 »
0
Hola nuevamente, para solucionar tu problema debes ingresar estas referencias a tu proyecto de visual basic:

- Crystal Report 8 ActiveX Designer Run Time Library y Crystal Report 8 ActiveX    
- Designer Design Time Library (Internal)

Con estas referencias debe permitirte crear los objetos reporte y los objetos tabla, en caso de que sigas teniendo problemas, me gustaría que me mandaras parte de tu código para ver en donde se encuentra el problema, cualquier comentario me encuentro a tus órdenes!!!

 B)

migueles2

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Problemas Con Crystal Report+sql Server Y Visual B
« Respuesta #9 en: Martes 7 de Septiembre de 2004, 09:10 »
0
Gracias seek20 por las referencias. Ya las he incluido y aparece el objeto, aunque aparece como 'CRAXDRT' y no CRAXDDRT.

Ya sólo falta terminar el código para la llamada al informe. El código que yo utilizaba está en el post principal y ahora habría que acoplarlo al método que me has mandado.

Voy a indagar un poco y si me atasco te doy un aviso, ¿vale? B)

Un saludo.

migueles2

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Problemas Con Crystal Report+sql Server Y Visual B
« Respuesta #10 en: Martes 7 de Septiembre de 2004, 12:09 »
0
Hola de nuevo seek20.

He estado mirando por ahí, para ver como poder lanzar el informe que creé, pero nada. La mayoría, por no decirte todos los que he visto, es sobre BdD de Access y yo lo tengo en SQL Server. :huh:

Sólo tengo lo que tú me has dado:
Código: Text
  1.  
  2. Dim oReporte As New CRAXDRT.Report
  3. Dim oTabla As CRAXDRT.DatabaseTable
  4.  
  5. Set oReporte = dsrNotaEntrada
  6.  
  7. oReporte.Application.LogOnServer "p2ssql.dll", v_SQLServ, v_SQLBdD, v_SQLUser, v_SQLPassw
  8.  
  9.  

De lo cual, no entiendo la línea Set oReporte = dsrNotaEntrada

y me falta la llamada al informe y la ejecución del informe.

Me puedes ayudar???

Un saludo

seek20

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: Problemas Con Crystal Report+sql Server Y Visual B
« Respuesta #11 en: Martes 7 de Septiembre de 2004, 15:33 »
0
Hola nuevamente Migueles2:

He aquí la solución al problema, la línea de código:

Set oReporte = dsrNotaEntrada

es para cuando se usan diseñadores de crystal reports en vez de archivos rpt, pero para sustituir eso solo debes usar esta otra línea de código que te ayudara a fijar tu variable oReporte con el reporte que deseas visualizar:

oReporte.Application.OpenReport "Ruta del reporte"

con esto creo que queda solucionado el problema, pero ya sabes que si hay alguna duda estoy para servirte. Saludos y suerte!!!

 :comp:

icewam

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Problemas Con Crystal Report+sql Server Y Visual B
« Respuesta #12 en: Sábado 2 de Octubre de 2004, 02:58 »
0
Quetal:

Tu problema puede ser que por lo siguiente: No tienes desactivado la opcion de Guardar datos del informe.

Para eso tienes que desactivar esta opción:

Archivo/Opciones/Nuevo Informe/
Desactivar el check Guardar datos del informe

Tambien hay una opcion (ahora no me acuerdo bien), pero es la 3ra del menu donde activas la opcion Actualizar .....

Cualquier duda me escribes si te pude ayudar.... Nos vidrios