Crystal Report - Reporte VB envía vacío.

   
Vista:

Reporte VB envía vacío.

Publicado por Luisinho (2 intervenciones) el 03/10/2007 14:12:52
Hola a todos tengan buen día, tengo el crystal 8.5, y desde el visual basic 6 he creado un formulario para imprimir mi reporte. con estas instrucciones todo va bien, solo que al momento de presionar el botón imprimir de mi formulario, en la cola de impresión va 0 páginas y 0 bytes de información a la impresora. yo digo: por qué va vacío?, y si va vacío por qué se activa el monitor de estado de impresión del windows? es como si en realidad hace algo, pero envía página vacía, ni siquiera los encabezados de mi formulario.

si alguien por favor pudiese darme alguna orientación, dejo a disposición mis instrucciones del formulario.


Dim strCadena As String
Dim cnn As New ADODB.Connection ' conexión con la base de datos
________________________________________
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyEscape Then
Unload Me
End If
End Sub
________________________________________
Private Sub Form_Load()
cnn.Provider = "Microsoft.Jet.OLEDB.4.0"
cnn.ConnectionString = "C:\vb6\principal.mdb"
cnn.Open
End Sub
_________________________________________
Private Sub imprimir_Click()
Set reporte = Nothing
strformula = "{Datosgen.Curso} = ' " & ensayo.DataCombo1.Text & " '"
If DataCombo1 <> "" Then
With MDIprobando.reporte
.ReportFileName = "c:\vb6\report\report1.rpt"
.WindowState = crptMaximized
.WindowTitle = "listado simple"
'.RetrieveDataFiles
.Destination = crptToPrinter
.Connect = cnn
.PrintReport
End With
Else
MsgBox "Por favor elija un curso para imprimir", vbOKOnly
End If
End Sub
____________________________________________
'esta fórmula está en crystal 8.5: {Datosgen.Curso} = ' " & ensayo.DataCombo1.Text & " '
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:Reporte VB envía vacío.

Publicado por gco (1 intervención) el 20/10/2007 15:03:42
mira yo uso este codigo para levantar los reportes creados utilizabdo el crviewer
si te sirve bien...
Dim crAPP As New CRaxdrt.Application

Dim subReport As CRaxdrt.Report
Dim Crcampos As CRaxdrt.FormulaFieldDefinitions
Dim Crcampo As CRaxdrt.FormulaFieldDefinition
Dim Nomtab As String
Dim ini As String
Dim ter As String
Dim fecIni As String
Dim fecTer As String
Dim cc As Boolean
fecIni = Format(Feci.Value, "mm")
fecTer = Format(FecT.Value, "mm")
Nomtab = "contaanual" & AnoCont

'abre tabla en base de datos
If RsComprobante.state = 1 Then RsComprobante.Close
RsComprobante.CursorLocation = adUseClient
RsComprobante.Open "select * from " & Nomtab, ConecPunto, adOpenStatic, adLockReadOnly
'Indica con que reporte va a trabaja
Set Report = crAPP.OpenReport(App.Path & "\informes\rpbalance.rpt", 1)

'cambia condicines de formulas en reporte
Report.FormulaFields(6).Text = "mid({Contaanual.Vou_Cuenta},1," & lcam & ")"

'limpia los datos almacenados en el informe al crearlo
Report.DiscardSavedData
Report.ReportTitle = "Ejercicio Comprendido Entre el 1ro de " & Format(Feci.Value, "mmmm") & " De " & Format(Feci.Value, "yyyy") & " al " & Format(DateAdd("d", -1, DateAdd("m", 1, "01/" & Format(FecT.Value, "mm/yyyy"))), "dd") & " de " & Format(FecT.Value, "mmmm") & " de " & Format(FecT.Value, "yyyy")

'indica cambio de ubicacion de tabla

Report.Database.Tables(1).ConnectionProperties.Add "UserId", GnomUser
Report.Database.Tables(1).ConnectionProperties.Add "Password", GPassUser


'Indica parametros de seleccion de registros
Report.RecordSelectionFormula = "datepart('M',{Contaanual.Vou_fecha}) in " & fecIni & " to " & fecTer
Report.GroupSelectionFormula = "datepart('M',{Contaanual.Vou_fecha}) in " & fecIni & " to " & fecTer

'indica el nombre de base de datos a utilizar
Report.Database.SetDataSource RsComprobante, , 1
'' Report.Database.SetDataSource RsPlanCuenta, , 2

'asignacion de parametros a variables
If Timbrado.Value = 1 Then
Report.ParameterFields(1).SetCurrentValue ("S")
Set Crcampos = Report.FormulaFields
For Each Crcampo In Crcampos
If Crcampo.Name = "{@FechaImpresion}" Then Crcampo.Text = ""
If Crcampo.Name = "{@Hora}" Then Crcampo.Text = ""
If Crcampo.Name = "{@Pagina}" Then Crcampo.Text = ""
Set Crcampo = Nothing
Next
Set Crcampos = Nothing

Else
Report.ParameterFields(1).SetCurrentValue ("N")

Set Crcampos = Report.FormulaFields
For Each Crcampo In Crcampos
If Crcampo.Name = "{@Rsocial}" Then Crcampo.Text = "'Razon Social : " & Nombre_empr & "'"
If Crcampo.Name = "{@Direccion}" Then Crcampo.Text = "'Dirección : " & Direccion_empr & "'"
If Crcampo.Name = "{@Giro}" Then Crcampo.Text = "'Giro : " & Giro_empr & "'"
Set Crcampo = Nothing
Next
Set Crcampos = Nothing
End If
'activa opciones de informe
informe.CR.ReportSource = Report
informe.CR.EnableZoomControl = True
informe.CR.EnableRefreshButton = False
informe.CR.EnableGroupTree = False
informe.CR.DisplayGroupTree = False
informe.CR.EnableDrilldown = False
informe.CR.ViewReport
informe.Show 1
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:Reporte VB envía vacío.

Publicado por Luisinho (2 intervenciones) el 22/10/2007 22:09:18
Gracias por tu ayuda, en realidad aún sigo atascado en el asunto que mencioné al comienzo, y no encuentro una solución verdadera.

gracias nuevamente y he tomado algunos ejemplos de tus códigos para mejorar mi reporte.

saludos cordiales.
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