Crystal Report - VARIAS BD PARA UN SOLO INFORME

 
Vista:
sin imagen de perfil

VARIAS BD PARA UN SOLO INFORME

Publicado por J@m (23 intervenciones) el 23/10/2008 17:20:54
HOLA, POR CUESTIONES DE ESPACIO Y AGILIDAD, EN MI BD VOY DEJANDO SOLO LOS REGISTROS POR CADA AÑO (EN LA BD 2005 DEJE SOLO LOS REGISTROS CREADOS EN EL 2005) Y ASI PARA EL 2006, 2007 Y 2008. ESTOS REGISTROS LOS IMPRIMO EN UN SOLO INFORME (VENTAS.RPT). PERO ESE INFORME ESTA CREADO SOBRE LA BD 2005 Y CUANDO VOY A IMPRIMIR EL INFORME DE 2006, 2007 Y 2008 NO ME MUESTRA NADA, COMO SOLUCIONO ESO.

MUCHAS GRACIAS DE ANTEMANO.... DESDE CALI-COLOMBIA
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:VARIAS BD PARA UN SOLO INFORME

Publicado por apacheco (23 intervenciones) el 23/10/2008 17:51:10
Cambia la conexion del informe para que apunte a la nueva base de datos. OJO los campos que utilizas en el informe deben estar en la nueva base de datos y en las mismas tablas
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
sin imagen de perfil

RE:VARIAS BD PARA UN SOLO INFORME

Publicado por J@m (23 intervenciones) el 23/10/2008 17:54:00
SI, PERO ESA CONEXION (ESTABLECER UBICACION) SE PUEDE HACER EN MODO DE EJECUCION????
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:VARIAS BD PARA UN SOLO INFORME

Publicado por apacheco (23 intervenciones) el 23/10/2008 18:23:57
SI. Yo lo hago permanentemente. Tengo definidos los listados en el disco C y la base de datos igual.

Cuando lo llevo al cliente, la base de datos esta en un servidor y el programa y listados en el equipo del usuario. Cada vez que entro ene l programa genero la conexion a la base de datos y a la hora de listar cambio la del informe (C:Programapp.mdb) por la nueva (\SERVIDORProgramapp.mdb) y funciona.

Dentro de una hora te envio lo que hago para que lo veas. (sago ya del trabajo)
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:VARIAS BD PARA UN SOLO INFORME

Publicado por apacheco (23 intervenciones) el 23/10/2008 19:36:59
Te adjunto lo prometido.

Se define una variable y se rrellena con los datos de la conexion:

Public ConexAccessCrystal As String


ConexAccessCrystal = "driver=Microsoft Access Driver (*.mdb)," & _
"server=" & [path del directorio de ka base de datos] & ";" & _
"uid=" [usuario autorizado] & ";" & _
"pwd=" & [paswword];" & _
"database=" & [direccion completa de la base de datos (incluido path)]

yo tengo la costumbre de poner en un formulario (FrmRpt) el objeto Crystal (
Crrpt).

Cuando vayas a listar desde el modulo que sea (OJO .CONNECT y DATABASE(0)) son incompatibles. Dependen de como hayas definido el listado

With FrmRpt.CrRpt
.Connect = ConexAccessCrystal ' Aqui asignas la conexion ala BD
' .DataFiles(0) = basedato ' En este caso cambias la direccion
de la base
.Destination = crptToWindow
If CdtFechaDsd.Text = CdtFechaHst.Text Then
.Formulas(0) = "Rotulo = 'DIARIO DE CAJA DEL DIA " & CdtFechaDsd.Text & "'"
Else
.Formulas(0) = "Rotulo = 'DIARIO DE CAJA'"
End If
.Formulas(1) = "Periodo = 'Período del " & CdtFechaDsd.Text & " al " & CdtFechaHst.Text & "'"
.ReportFileName = pathcrpt & "LstDiarioDeCaja.rpt"
.SelectionFormula = "{Facturas.Codigo_Fac} = 'F' and " & _
"{Facturas.Fechaf_Fac} >= Date(" & Mid(CdtFechaDsd.Text, 7, 4) & ", " & _
Mid(CdtFechaDsd.Text, 4, 2) & ", " & _
Mid(CdtFechaDsd.Text, 1, 2) & ") and " & _
"{Facturas.Fechaf_Fac} <= Date(" & Mid(CdtFechaHst.Text, 7, 4) & ", " & _
Mid(CdtFechaHst.Text, 4, 2) & ", " & _
Mid(CdtFechaHst.Text, 1, 2) & ") "
' .SortFields(0) = "+{Facturas.Fechaf_Fac}"
' .SortFields(0) = "+{Facturas.Client_Fac}"
.WindowTitle = "Diario de Caja"
.Action = 1
.Destination = crptToWindow
.Formulas(0) = vbNullString
.Formulas(1) = vbNullString
.ReportFileName = vbNullString
.SortFields(0) = vbNullString
.SelectionFormula = vbNullString
.WindowTitle = vbNullString
End With
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:VARIAS BD PARA UN SOLO INFORME

Publicado por ROSACEJUDO (5 intervenciones) el 23/10/2008 23:11:13
Hola, estuve revisando la solucion que diste al amigo, esto fue para base de batos de access, mi detalle es lo mismo pero para base de datos DB2 en un as400, lo has manejado tambien. crees que pueda funcionar tambien para DB2.
yo me conecto atravez de una ODBC, y en el SET LOCATION indico el servidor, biblioteca y archivo.
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:VARIAS BD PARA UN SOLO INFORME

Publicado por apacheco (23 intervenciones) el 24/10/2008 13:11:57
Te sirve pero creo que debes ustilzar la conexion primera (ConexionAccessCrystal). he puesto ese nombre de Access porque es el de programa. Llamale si quieres ConexionCrystal (que seria mas aseptico) y el resto igual.

Yo trabajo con clientes que tienen la base de dato MySql en un Servidor externo y la logica es la misma, solo cambias el Microdoft Access Driver .... por el correspondiente a tu base de datos (p.e IBM DB2 .....) y te funciona
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:VARIAS BD PARA UN SOLO INFORME

Publicado por Jose (3 intervenciones) el 23/10/2008 23:52:59
Dos preguntas:

1 ¿CrRpt que tipo de objeto es?
(Por ejemplo un Form es del tipo System.Windows.Forms.Form)

2 ¿Funciona para Visual Studio 2005?

Gracias.
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