Ayuda con crystal report.

Ya se que seguro que lo habrás contestado pero, las respuestas que he visto no me solucionan mi problema así que lo mismo lo tengo en otro sitio el fallo. Lo que he hecho es:
Abro crystal report y hago un report, enlazado con la tabla de la base de datos de access 97, he creado mi report de la siguiente forma(muy sencillo) solo los datos en detalle pasando a hoja nueva en cada registro.
Guardo el report sin marcar la casilla guardar datos con el informe.
Ahora con vb 6 agrego componente de crystal report control donde le enlazo con el archivo, y lo pongo que el destino sea en pantalla. Entonces mi botón que tiene por código:
Crystalreport1. Printreport
Lo que hace es que muestra un pantallazo en blanco y se va, sin actualizarme los datos ni nada.
Ahora bien.. Que es lo que hago mal ¿?

1 respuesta

Respuesta
1
No utilices odbs para acceder a los datos, mejor ataca la base de datos directamente y la informe le pasas donde están los datos o mejor dicho la cadena de conexión.
Te mando un ejemplo con Access:
Sub ImprimirCliente()
If Dir(RutaInforme & "Clientes.rpt") = "" Then
Me.MousePointer = 0
MsgBox "Imposible sacar listado de clientes." & vbCrLf & "Consulte con el proveedor de su programa.", vbCritical, "Listado No Encontrado"
Exit Sub
Else
If optListados(0).Value Then
CrystalReport.SortFields(0) = "+{CLIENTES.CODCLI}"
ElseIf optListados(1).Value Then
CrystalReport.SortFields(0) = "+{CLIENTES.NOMCLI}"
End If
CrystalReport.ReportFileName = RutaInforme & "Clientes.rpt"
CrystalReport.WindowTitle = "LISTADO DE CLIENTES " & _
Format(TxtListados(0).Tag, "000000") & " A " & _
Format(TxtListados(1).Tag, "000000")
CrystalReport.Formulas(1) = "ENCABEZADO = '" & CrystalReport.WindowTitle & "'"
CrystalReport.SelectionFormula = "{CLIENTES.CODCLI} in '" & _
TxtListados(0).Tag & "' to '" & TxtListados(1).Tag & "'"
For i = 0 To CrystalReport.RetrieveDataFiles - 1
CrystalReport.DataFiles(i) = RutaDB ' donde está la B.D.
Next i
Copias = 1
Copias = InputBox("Número de Copias.", "Imprimir", Copias)
If Trim(Copias) = "" Then Exit Sub
If Not IsNumeric(Copias) Then
MsgBox "Número de copias erróneo.", vbInformation, "Atención"
Exit Sub
End If
Me.MousePointer = 11
DoEvents
CrystalReport.CopiesToPrinter = CInt(Copias)
CrystalReport.Action = 1
End Sub
Faltan alguna declaraciones para que esto funcione pero so seguro que lo sabrás solucionar.
Si tienes alguna duda ya sabes donde me tienes
Ok! me dice...
No se puede abrir el servidor SQL, vamos te digo lo que he hecho en diseño que es:
Abro nuevo en blanco y luego cuando me salta el explorador de datos selecciono del ODBC - Ms Acess database y la respectiva base de datos, eso si, me sale como un enchufe desconectado que no se como se conecta ni lo que tengo que hacer, como bien me has dicho antes y según el error puede que este ahí, no ¿?.
Muchas gracias por tu tiempo y espero respuesta, :P
Te lo curras mucho, te voy a dar un 5. y luego te vuelvo a escribir si me sigue dando problemas.
Gracias.
Lo que pasa es que tienes un error en el diseño de informe y cuando intentas abrir el informe casca.
Prueba a mostrar el informe con:
Crystalreport1. Action=1 y si hay algún error te muestra un mensaje,
Pruébalo y me cuentas que tal.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas