Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

enlace dinamico a reporte crystal

Estas en el tema de enlace dinamico a reporte crystal en el foro de Visual Basic clásico en Foros del Web. Hola amigos: Hice con crystal reports 10 un reporte y lo guarde una carpeta, el reporte tiene el enlace con la bae de datos y ...
  #1 (permalink)  
Antiguo 10/03/2006, 20:56
 
Fecha de Ingreso: abril-2004
Ubicación: Añatuya
Mensajes: 95
Antigüedad: 20 años
Puntos: 0
enlace dinamico a reporte crystal

Hola amigos:

Hice con crystal reports 10 un reporte y lo guarde una carpeta, el reporte tiene el enlace con la bae de datos y los campos, el diseño, etc, etc...
Como hago para llamarlo desde Visual basic 6.0?????
si la explicacion puede ser bien detallada mejor....

gracias

probe poniendo un objeto CONTROL REPORT y enlazarlo en las propiedades con el reporte que habia creado con anterioridad...
pero cuando uso

cr.arction=1

me muestra un error que dice "Error 20525 Unable to load report"

como lo soluciono???? gracias
__________________
Un angel le dice a Dios - Señor han descifrado el genoma humano - a lo que Dios contesta - Condenados hackers, voy a tener que cambiar la contraseña
  #2 (permalink)  
Antiguo 13/03/2006, 10:00
 
Fecha de Ingreso: abril-2005
Mensajes: 60
Antigüedad: 19 años, 1 mes
Puntos: 0
Bueno ese error te puede dar por muchas razones:

1- le estas escribiendo mal el nombre del reporte.
2- no le escribes la extencion.
3- la direccion del reporte esta mala.

ponle cr.arction=3
aqui te mando un ejemplo para que te ayude:

Cr.ReportFileName = App.Path & "\Report.rpt"
Cr.Connect = "dsn = " & odbc & ";uid=" & dbuser & ";pwd=" & dbuserpass & ";"
Cr.Destination = crptToWindow
Cr.DiscardSavedData = True
Cr.Action = 3
  #3 (permalink)  
Antiguo 13/03/2006, 21:47
 
Fecha de Ingreso: abril-2004
Ubicación: Añatuya
Mensajes: 95
Antigüedad: 20 años
Puntos: 0
probe con el codigo que esta mas arriba y tampoco funciona....

me sigue saliendo el mismo error....
__________________
Un angel le dice a Dios - Señor han descifrado el genoma humano - a lo que Dios contesta - Condenados hackers, voy a tener que cambiar la contraseña
  #4 (permalink)  
Antiguo 14/03/2006, 13:33
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
tenes que tener en las referencias..

Crystal ActiveX ReportViewer
Crystal ActiveX ReportDesigner runTime
Crystal ActiveX ReportDesgnerDesign and Runtime

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #5 (permalink)  
Antiguo 15/03/2006, 20:53
 
Fecha de Ingreso: abril-2004
Ubicación: Añatuya
Mensajes: 95
Antigüedad: 20 años
Puntos: 0
ya lo solucioneeeeeeeeeeeeeee jaaaaaaaaaaa siiiiiiiiiiiiiiiiiiiiiiiii

despues le paso el codigo para aquellos que lo necesiten.

jajajaja jaj siiiis ooooosiiandaiadoaodnas
__________________
Un angel le dice a Dios - Señor han descifrado el genoma humano - a lo que Dios contesta - Condenados hackers, voy a tener que cambiar la contraseña
  #6 (permalink)  
Antiguo 19/03/2006, 14:39
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
ok por aca lo esperan los jóvenes..

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #7 (permalink)  
Antiguo 24/11/2006, 15:21
 
Fecha de Ingreso: noviembre-2006
Mensajes: 1
Antigüedad: 17 años, 5 meses
Puntos: 0
Como lo solucionó?

Como fue que lo pudo solucionar?, yo tengo el mismo problema y no he podido...


Cita:
Iniciado por roortiz Ver Mensaje
ya lo solucioneeeeeeeeeeeeeee jaaaaaaaaaaa siiiiiiiiiiiiiiiiiiiiiiiii

despues le paso el codigo para aquellos que lo necesiten.

jajajaja jaj siiiis ooooosiiandaiadoaodnas
  #8 (permalink)  
Antiguo 26/12/2006, 21:35
 
Fecha de Ingreso: abril-2004
Ubicación: Añatuya
Mensajes: 95
Antigüedad: 20 años
Puntos: 0
Re: enlace dinamico a reporte crystal

Antes que nada quiero agradecer a todos los que siempre contestan o aportan alguna idea aunque sea minuscula, porque con una pequeña idea podemos reencaminar la solucion de un problema.

Yo utilizo Windows 2000, VB6 y Crystal Reports 10 (no he probado con otra configuracion, pero el sistema solo funciona en windows 2000 o superior)

Para resolver el problema hice lo siguiente:

En el Administrador Visual de Datos he creado mi base de datos con el formato MS Access 7.
Luego utilizando el cristal reports 10 hice el reporte (por ejemplo para listar los ventas de la empresa en order cronologico). Aqui es donde esta una de la claves para que los reportes funcionen bien, despues de crearlo me fui al menu FILE y deshabilite la opcion SAVE DATA WITH FILE (guardar los datos con el archivo) esto me permite que el repporte pueda ser dinamico, sino mostraria siempre los mismos datos. y luego lo guarde en la carpeta de mi aplicacion con el nombre "ventasxart.rpt"

El menu que llama al selector de parametros (que en este caso son fechas y el codigo del articulo) tiene el siguiente codigo:

Private Sub SM_PORARTICULO_Click()
NomRep = "VENTAS POR ARTICULO"
TipRep = "ARTICULO"
Parametros.Show
End If


el form PARAMETROS tiene dos controles DTPicker, un textbox y un boton, el codigo de este formulario es el siguientes:

Private Sub CmdBusCli_Click()
Dim Visor As New ReportLisArt '(Es el nombre del form que tiene el control CRVIEWER)

If Text1.Text = "" Then
MsgBox "Debe introducir el código que corresponda para listar el reporte", vbExclamation + vbOKOnly, "Aviso"
Exit Sub
End If
If IsNumeric(Text1.Text) = False Then
MsgBox "El código debe ser un número", vbExclamation + vbOKOnly, "Aviso"
Exit Sub
End If
FechaIN = DTPicker1.Value
FechaFI = DTPicker2.Value
CodXXX = Text1.Text
Visor.Show vbModal
Set Visor = Nothing
End Sub

Private Sub CmdCancelaRegVentas_Click()
Unload Me
End Sub

Private Sub Form_Load()
If TipRep = "ARTICULO" Then
Label3.Caption = "Código del Articulo"
End If
End Sub


luego tengo un form donde puse un control data apuntado a la tabla ventas de mi db (la misma tabla a la que apunta el reporte) y en el mismo form puse un control CrystalActiveXReportViewer con el nombre CRViewer.

con el siguiente codigo:

Private crApp As New CRAXDRT.Application
Private crReport As New CRAXDRT.Report
Private mflgContinuar As Boolean
Private mstrParametro1 As String
Private mlngParametro2 As Long
Dim QsRs As Recordset

Private Sub Form_Resize()
CrViewer.Top = 0
CrViewer.Left = 0
CrViewer.Height = ScaleHeight
CrViewer.Width = ScaleWidth
End Sub

Private Sub Form_Load()
Dim crParamDefs As CRAXDRT.ParameterFieldDefinitions
Dim crParamDef As CRAXDRT.ParameterFieldDefinition
On Error GoTo ErrHandler
Screen.MousePointer = vbHourglass
mflgContinuar = True
Select Case NomRep
Case "VENTAS POR ARTICULO"
Data14.RecordSource = "Select * from [ventas] where [Codigo_Art] = '" & CodXXX & "' and [Fecha] between #" & Format(FechaIN, "mm/dd/yyyy") & "# And #" & Format(FechaFI, "mm/dd/yyyy") & "# order by [Fecha] DESC"
Data14.Refresh
If Data14.Recordset.RecordCount = 0 Then
MsgBox "No se encontraron datos para listar", vbExclamation + vbOKOnly, "Aviso"
Screen.MousePointer = vbDefault
Exit Sub
End If
Set crReport = crApp.OpenReport("c:\Archivos de programa\APLICACION\venxart.rpt")
crReport.DiscardSavedData
crReport.Database.SetDataSource Data14.Recordset
End Select

CrViewer.ReportSource = crReport
CrViewer.DisplayGroupTree = False
CrViewer.ViewReport
Screen.MousePointer = vbDefault
Set crParamDefs = Nothing
Set crParamDef = Nothing
Exit Sub

ErrHandler:

If Err.Number = -2147206461 Then
MsgBox "El archivo de reporte no se encuentra, restáurelo de los discos de instalación", vbCritical + vbOKOnly
Else
MsgBox Err.Description, vbCritical + vbOKOnly
End If
mflgContinuar = False
Screen.MousePointer = vbDefault
End Sub


la parte del texto que esta marcada en verde es la que me permite cambiar la sentencia SQL y asi poder ver cualquier cosa que necesite de mi base de datos que pueda caber dentro del diseño del reporte. tengo otros reportes que se manejan exactamente igual, es por eso que en algunos casos van a ver sentencias SELECT...CASE o IF...THEN...ELSE tal ves sin sentido pero lo que pasa es que para el ejemplo deje un solo reporte. Cuando tenga mas tiempo disponible pienso hacer un proyecto donde majene varios reportes y que sea bien claro y lo mejor explicado posible (pero todavia estoy en la etapa de la experimentacion y ademas no termine mi pagina para poder subir el zip)

Espero que les sirva, lo mejor de todo siempre es practicar, practicar y practicar, asi que si esto les sirve de ayuda o les da una idea de como encarar el problema bienvenido sea y como siempre digo:

Gracias a ustedes...
__________________
Un angel le dice a Dios - Señor han descifrado el genoma humano - a lo que Dios contesta - Condenados hackers, voy a tener que cambiar la contraseña

Última edición por roortiz; 26/12/2006 a las 21:42
  #9 (permalink)  
Antiguo 30/01/2007, 15:38
 
Fecha de Ingreso: enero-2007
Mensajes: 2
Antigüedad: 17 años, 3 meses
Puntos: 0
Exclamación Re: enlace dinamico a reporte crystal

hola, soy nuevo y tengo un problema:

estoy trabajando en una aplicacion hecha en visual basic .net, con una base de datos access 2003 y utilizo reportes de cristal 10.

el problema es que la base de datos se encuentra en un servidor remoto, pero puede transladarse a otro servidor, u otra carpeta, el hecho es que al reporte le tengo que cambiar la ubicacion de la base de datos nuevamente.
mi pregunta es si en tiempo de ejecucion puedo indicarle al reporte donde se encuentra la base de datos???
hasta ahora no he encontrado nada relacionado concretamente con el tema.

desde ya muchas gracias!!
  #10 (permalink)  
Antiguo 01/06/2007, 02:20
 
Fecha de Ingreso: mayo-2007
Mensajes: 4
Antigüedad: 17 años
Puntos: 0
Re: enlace dinamico a reporte crystal

Prueba con esto:
CrystalReport1.DataFiles(0) = APP.Path & "\Prueba.mdb"
  #11 (permalink)  
Antiguo 11/06/2007, 10:04
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 7 meses
Puntos: 2
Re: enlace dinamico a reporte crystal

Hola a todos!
Soy totalmente inexperta en esto de vb6 con crystal Reports.
Estoy trabajando con la versión 8 de crystal y tengo hecho lo siguiente que está fallando:
Primeramente, tengo creado un reporte cuyo origen de datos es un dsn de archivo guardado en la misma carpeta que la base de datos.
Luego, para llamarlo desde visual, hice como en el ejemplo de este hilo que funcionó:
Agregué un control Data con el Nombre Data1 y con una consulta sql a mi base. Conecto con la base mediante un módulo que me sirve de conexión, la variable se llama Base y contiene la siguiente cadena:
Código:
Base.Open "Data Source= " + App.Path + "\DatBDB\Appcli.mdb; Jet OLEDB:Database Password=xxxxx"
aclaro que esta conexión funciona bien en toda la aplicación.

En la propiedad Connection del data1 puse que conecte con Base (Sin prestar atención al dsn porque no me gusta mucho usarlos)

Luego de haber definido el recordset para el data1, tengo lo siguiente:

Código:
Cr1.ReportFileName = App.Path & "\Reps\Test.rpt"
Cr1.Connect = "dsn = dsnBase;uid=Admin;pwd=xxxx;"
Cr1.Destination = crptToWindow
Cr1.DiscardSavedData = True
Cr1.Action = 1
Set cReport = crApp.OpenReport(App.Path & "\Reps\Test.rpt", 1)
cReport.Database.SetDataSource Data1.Recordset
Y mas adelante, luego de discriminar si se pasan parámetros adicionales

Código:
Crv.ReportSource = cReport
Crv.DisplayGroupTree = False
Crv.ViewReport
Cr1 es el control Crystal Report Control
El Crv es el Crystal Report Viewer.

El error que tengo cuando intento abrir el reporte desde el programa es: "server has not yet been opened"
El tema es que yo trabajo con access, es una base de datos con password, pero no deja de ser access.

Otro detalle, es que lo que tengo incluido en el reporte no son las tablas, sino una consulta almacenada en access... no se si tenga que ver pero lo aclaro por las dudas.

Bueno, espero que me puedan dar una mano, si hay algo que no se entiende, porfi avisen.
Estoy realmente desesperada con esto.
Ya lo probé sin dsn, pero siempre me falla el tema de la sesión en la base de datos.

Un saludo para todos y gracias de antemano por la ayuda.
__________________
Why can't we not be sober?
www.partitorium.com.ar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 18:07.