Crystal Report - Crytal 8 y Base de Datos

 
Vista:

Crytal 8 y Base de Datos

Publicado por Mauro (6 intervenciones) el 18/08/2006 13:25:40
Hola!! les comento tengo un programa en VB6 al cual mando varios reportes al rystal Report 8, pero le digo la base de datos en el VB por ejemplo App.Path & "\" & "ejemplo.mdb" (por ahi puede haber error porque no me acuerdo el codigo de memoria) pero eso me funciona, el tema es que en el resto del programa utilizo una variable para la base de datos que puede ser "base" por ejemplo porque hay momentos en que la base de datos cambia por otra, la pregunta es como le digo a Crystal Report que utilize la base de datos que en ese momento esta activa??' las tablas son exactamente las mismas pero es otra base de datos que corresponde a años anteriores, entonces necesito pasarle un parámetro al Crystal que en vez de utilizar siempre "ejemplo.mdb" utilize la base que en ese momento esta activa, sería pasarle un parámetro con una variable en vez de una base de datos, como lo hago?????

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Crytal 8 y Base de Datos

Publicado por Francisco Rivas (371 intervenciones) el 18/08/2006 15:24:07
***********Un reporte común

'ubicacion del reporte
CrystalReport1.ReportFileName = "C:\reportes\LISTADO_CHEQUES.rpt"

'ubicacion de la base de datos
CrystalReport1.DataFiles(0) = "C:\BasedeDatos\ejemplo.mdb"

************y si tienes subreportes sería (en este caso hay dos subreportes)

CrystalReport1.ReportFileName = "C:\reportes\LISTADO_CHEQUES.rpt"

CrystalReport1.DataFiles(0) = "C:\BasedeDatos\ejemplo.mdb"
SR = CrystalReport1.GetNthSubreportName(0)
CrystalReport1.SubreportToChange = SR

CrystalReport1.DataFiles(0) = "C:\BasedeDatos\ejemplo.mdb"
SR = CrystalReport1.GetNthSubreportName(1)
CrystalReport1.SubreportToChange = SR

CrystalReport1.DataFiles(0) = ubicacion_BD
CrystalReport1.SubreportToChange = ""

*******espero que te sirva, cualquier error por favor haganlo saber...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crytal 8 y Base de Datos

Publicado por leonardo (1 intervención) el 20/08/2006 00:40:25
yo solo opino k no deverias de tener varias bases de datos eso te causa problemas lo k te recomineod esk mejor ocupes una sola base de datos y en esa misma realices todas las tabalas k necesite tu programa asi sera mas facilk para ti ademas de que chekes bien tus propiedades del crystal report direcciona bien el reporte que creaste de la base de datos no se si eso te sirva si no no se k es ademas no soy experto en programacion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crytal 8 y Base de Datos

Publicado por Chiquito (28 intervenciones) el 20/08/2006 19:10:07
Un par de cosas
1 - Si te hacés un DSN con odbc, no importa el lugar donde esté la base.
2 - Si igual lo quieres cambiar en tiempo de diseño y estamos hablando de Access, entonces
2.1 - Si estás usando la OCX del Crystal, es lo que te dijo Mauro, en
xx.datafiles(0) le pasas la dirección
2.2 caso contrario, supongamos

Dim MiRpt As CRAXDRT.Report,Mibase as string,I as integer

Mibase="larutacompletatuya.mdb"
For I = 1 To MiRpt.Database.Tables.Count

MiRpt.Database.Tables(I).SetTableLocation MiBase, MiRpt.Database.Tables(I).Name, ""

NEXT

Ah, y lo de Francisco tambien es correcto.
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crytal 8 y Base de Datos

Publicado por Mauro (6 intervenciones) el 22/08/2006 13:12:47
Gracias, el tema es que estoy programando en VB6 no en access, pero igual gracias, el tema de utilizar 2 Base de Datos es por el tema de que no se haga muy grande, ya que utilizo varios registros y tengo miedo que se lentifique el programa, igualmente utilizando siempre hay 1 sola base de datos, pero hago cierres de ejercicios, entonces si estan utilizando hace 10 años el programa sería muy engorroso tener todos los años juntos, principalmente por el tamaño de la base de datos, es por ello que en cada año hago un cierre y lo guardo en una base externa, si el usuario quiere consultar movimientos de hace 3 años aptras por ejemplo, lo unico que tendria que hacer es decirle al programa que habra dicho año y entonces ahi en donde cargo la otra base de datos, de lo contrario utilizo una sola, esp or ese motivo nada mas.

Gracias por responder
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crytal 8 y Base de Datos

Publicado por Chiquito (28 intervenciones) el 23/08/2006 15:48:20
Lo que yo te respondí era referente a VB 6, o sea en tu formu, no en Access. No entendí lo que dijiste por eso.
O sea, en tu formu de VB le cambiás la dirección de la Base como se te antoje, eso queda claro verdad?
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar