Ayuda con Crystal Report y VB6

Quisiera que me ayudes un poco, le he dado vueltas al asunto como loco, tengo una Base de Datos en SQL Server 2000 sp3, la programación en VB6 y el sistema operativo es el win server 2003. Tengo el Siguiente código para cargar los reportes que creo:
Public Sub GetReport(RptFile As String, RptSP As String, Optional ByVal RptParam1 As String, _
Optional ByVal RptParam2 As Date, Optional ByVal RptParam3 As Date, _
Optional ByVal RptParam4 As String, Optional ByVal RptParam5 As String)
'parametros 2 y 3 utilizados para el rango de fechas, los demas para otros strings
Dim crParamDefs As CRAXDRT.ParameterFieldDefinitions
Dim crParamDef As CRAXDRT.ParameterFieldDefinition
Dim RS As ADODB.Recordset
Dim MiCmd As ADODB.Command
Set MiCmd = New ADODB.Command
MiCmd.ActiveConnection = MiConexion
MiCmd.CommandType = adCmdStoredProc
MiCmd.CommandText = RptSP
MiCmd.Execute , Arrays() ' este array almacena los parametros para el proc.almacenado
Set RS = New ADODB.Recordset
RS.Open MiCmd
On Error GoTo ErrorControl
If RS.EOF Then
MsgBox "No hay Datos para Imprimir", vbExclamation, "Reportes de Gasto 1"
Exit Sub
Else
Screen.MousePointer = vbHourglass
mFlag = True
Set crApp = New CRAXDRT.Application
Set crReport = crApp.OpenReport(App.Path & RptFile, 1)
crReport.DiscardSavedData
crReport.Database.SetDataSource RS
Set crParamDefs = crReport.ParameterFields
For Each crParamDef In crParamDefs
Select Case crParamDef.ParameterFieldName
Case "@Param1"
crParamDef.AddCurrentValue (RptParam1)
Case "@Param2"
crParamDef.AddCurrentValue (RptParam2)
Case "@Param3"
crParamDef.AddCurrentValue (RptParam3)
Case "@Param4"
crParamDef.AddCurrentValue (RptParam4)
End Select
Next
Set crParamDefs = Nothing
Set crParamDef = Nothing
End If
Exit Sub
ErrorControl:
MsgBox "No hay Datos para Imprimir", vbExclamation, "MODULO DE CAJA error"
mFlag = False
Exit Sub
End Sub
Ahora mi problema es que esto me corría en WINxp, ahora que cambie el sistema operativo con la intención de hacer una aplicación cliente servidor, los reportes no me cargan y me mandan este error:
Logon failed.
Details: ADO Error Code: 0c80004005
Source: Microsoft OLE DB Provider for SQL Server
Description: [DBNETLIB][ConnectionOpen(Conect()).]No existe el servidor SQL Server o se ha denegado el accedo al mismo.
SQL State: 08001
Native Error: 17
La cadena de conexión es la siguiente:
Set MiConexion = New ADODB.Connection
MiConexion.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=Administrador;Initial Catalog=DBFZC;Data Source=FZC-SERVER"
MiConexion. Open

1 Respuesta

Respuesta
1
Cambiaste el sistema operativo.
1) Proba de abrir los reportes que tienes echos
Por más que le des la dirección con el app, el reporte tiene un servidor establecido capaz que tienes que cambiarle el database al reporte.
Bueno, si había hecho una prueba con uno de los reportes redireccionando desde el CR, es obvio que ese si carga, bueno creí que esa conexión se hacia nula con:
crReport.DiscardSavedData
Y luego le podía enviar un recordset con:
crReport.Database.SetDataSource RS
Bueno, en tal caso como haría para abrir este reporte desde un PC que tiene la aplicación y se conecta a la DB del servidor (El user esta autorizado para todas las tareas). ¿Quizás deba cambiar mi cadena de conexión? El error que me sale es el siguiente:
Error `-2147206429 (80043ae3)' en tiempo de ejecución:
Invalid TLV record.                       // y me ubica a depurar en:
Set crReport = crApp.OpenReport(App.Path & RptFile, 1)
Gracias por tu Tiempo Amigo
Vos los reportes los haces externos al vb ¿no?,
¿Seria haces los reportes en crystal report y llamas desde vb?
(Pido disculpas si esto esta en el código, pero como sale el código acá es imposible de seguirlo)
Si tienes instalado el crystal report (¿qué version usas?), lo podes abrir con eso
saludos
leadro
Uso CR 10, y si los reportes los hago en crystal report directamente, luego los llamo desde VB6
Si tuvieras alguna alternativa que traiga menos problemas para este tipo de aplicaciones, te agradecira que me la sugieras también. Atentamente. ERIK
¿El reporte desde le crystal lo abrís?
¿Podes ver datos si quieres hacer una muestra?
Si podes hacer esto, tienes que revisar la conexión que utilizas para conectarte a la base
Porque problema de reporte no es
Bueno amigo, sospeche que es problema de conexión del crital report a la Base de datos, entonces trataré otra forma de conectar, esa fue mi ultima pregunta, gracias por tu ayuda.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas