Crystal Report - AYUDA URGENTE, POR FAVOR

 
Vista:

AYUDA URGENTE, POR FAVOR

Publicado por AGUSTIN (5 intervenciones) el 25/09/2007 19:23:22
AL EJECUTAR MI APLICACION EN VISUAL E IMPRIMIR UN INFORME DESDE ELLA, ME HA OCURRIDO ALGUNAS VECES QUE SALE LA VENTANITA DEL INFORME EN BLANCO. LA PARTE SUPERIOR DE ESTA VENTANITA ME INDICA EL Nº DE REGISTROS Y EL Nº DE PAGINAS, PERO EL RESTO NO LLEGA A APARECER, Y ASI SE QUEDA... LA APLICACION ME DA EL MENSAJE DE ".... NO RESPONDE" Y TENGO QUE CERRARLA.

ESTO ES TOTALMENTE ALEATORIO. UNAS VECES VA BIEN Y OTRAS OCURRE LO DESCRITO ARRIBA.
HE INSTALADO Y DESINSTALADO. HE CAMBIADO EL CODIGO DE LA APLICACION, ETC.
USO VISUAL STUDIO Y CRISTAL REPORTS 8
ESTE ES EL CODIGO:

Private Sub PEDCM_Click()
PEDCM.Enabled = False
For I = 1 To 10
XPRIN.liscr.Formulas(I) = ""
Next
XPRIN.liscr.ReportFileName = "C:\Archivos de programa\AGUSTIN\LISTADOS\PEDRECVAL.RPT"
XPRIN.liscr.SQLQuery = "Select * from PEDRECVALCN where val(prcod)='" & Val(LbNumPed) & "' ORDER BY PRDART ASC"
XPRIN.liscr.Action = 1
PEDCM.Enabled = True
End Sub

¿ALGUIEN ME PUEDE ORIENTAR? YA NO SE QUÉ HACER. MIL GRACIAS
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:AYUDA URGENTE, POR FAVOR

Publicado por Gerardo (571 intervenciones) el 25/09/2007 23:35:37
Ke tal.

No entiendo del todo como abres tu reporte.

- Dónde haces la conexión con tu DB?
- XPRIM.listcr? < -- disculpa mi ignorancia, no entiendo esto.

CrystalReport1.ReportFileName = "C:\Archivos de programa\AGUSTIN\LISTADOS\PEDRECVAL.RPT"
CrystalReport1.Connect = "DataSource=NOMSERVIDOR;location=NOMBASE;uid=NOMUSUARIO;pwd=PASSWORDUSUARIO;"
'Yo no he usado SQLQuery y no se como trabaje, prueba con :
CrystalReport1.SelectionFormula = "{PEDRECVALCN .prcod}='" & LbNumPed & "'" ' <-- Akí haz los ajuste de tipo pertinentes
' El orden lo puedes establecer en el reporte y variarlo según tu kieras con condiciones
CrystalReport1.Action = 1

'Estoy suponiendo ke XPRIM es el objeto CrystalReport1

Ahhh, dices usar Visual Studio, es .NET?, pero no, tus sentencias se asemejan a las ke utilicé en VB6

Bueno, espero aportadote algo.

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

GERARDO GRACIAS, PERO....

Publicado por AGUSTIN (5 intervenciones) el 26/09/2007 16:29:55
GERARDO GRACIAS POR TU RESPUESTA.

LA CONEXION A LA BASE DE DATOS LA HAGO EN EL PROPIO CRYSTAL (ELIJO ODBC Y DESPUES LA TABLA NECESARIA).
XPRIN.LISCR ES EL OBJETO CRYSTAL DEFINIDO EN EL MENU DE MI APLICACION

HE SEGUIDO TU CONSEJO PERO, DE MOMENTO, SIGO IGUAL.

DESPUES DE DARLE MUCHAS VUELTAS AL ASUNTO, CREO QUE HE CONSEGUIDO DELIMITAR EL PROBLEMA. VERAS:
RESUMIENDO, EL INFORME TIENE DOS CAMPOS DE LA TABLA:
1. UNIDADES
2. PRECIO DE COMPRA
Y UNA FORMULA:
UNIDADES * PRECIO DE COMPRA

HASTA AQUI TODO VA BIEN

SI AÑADO UN RESUMEN DE LA FORMULA PARA SABER EL COSTE DE UN PEDIDO, LA APLICACION SE PARA Y ME DA EL MENSAJE VB6 NO RESPONDE.

SI QUITO EL RESUMEN DE LA FORMULA LA APLICACION CONTINUA FUNCIONANDO.

¿QUÉ ME SUGIERES QUE HAGA? GRACIAS POR ANTICIPADO
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:GERARDO GRACIAS, PERO....

Publicado por Gerardo (571 intervenciones) el 26/09/2007 18:11:53
Ke tal Agustin.

Te sugiero te olvides de conexiones ODBC y te inclines por OLEDB y aún cuando se establezca la conexión en CR (porque es necesario) es importante que realices la conexión desde tu aplicación, es más, puedes crear varias bases conservando la estractura de estas y hacer tu conexión desde la aplicación y no tendrás ke hacer más nada en tu reporte. Si es importante actualizar el reporte cuando se realice un cambio de estructura sin importar a que base hagas referencia.

Ahora bien, sigo sin entender esto XPRIN.LISCR, hasta donde he visto el objeto de VB para CR se llama CrystalReport1 y bueno a este lo puedes nombrar como desees como por ejemplo CRMireporte y de ahí desprendes sus propiedades, metodos y demás.

Digamos que XPRIN es CrystalRepotr1 y LISCR qué es?

Por desgracia ya no trabajo con VB6 pero ya anteriormente he mostrado akí en el foro algunas sentencias para hacer la conexión para SQL Server y Access y no tendría mucho caso instalarme VB6 para ver lo ya tratado.

Si no tienes problemas directas con CR y si únicamente cuando llamas tu reporte desde tu aplicación VB6, es muy probable ke ahí radique el problema.

Haz una prueba con una conexion OLEDB (ADO) desde CR y VB en un reporte nuevo con las sentencias ke te indike y elige el objeto CrystalReport1 de VB y me dices ke pasa, esto no te tardará mas de 10 mín.
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:GERARDO GRACIAS, SIGO....

Publicado por AGUSTIN (5 intervenciones) el 27/09/2007 16:23:47
HOLA GERARDO. QUE TAL?

POR DESGRACIA LO DICHO EN EL POST ANTERIOR SOBRE LAS FORMULAS OCURRE EN MI PC.

LA APLICACION FUNCIONA PERFECTAMENTE EL PC DE MI COMPAÑERO DE TRABAJO Y, AL MENOS, EL INFORME QUE A MI ME DA PROBLEMAS A ÉL NO SE LOS DA.
EN LA RED DE PCs DE MI CLIENTE OCURRE IGUAL: EN UNOS VA BIEN, EN OTROS LA APLICACION SE PARA Y VB6 NO RESPONDE.

EN OTRAS APLICACIONES OCURRE QUE A MI CLIENTE LA MAYORIA DE LOS INFORMES HACEN QUE VB6 NO RESPONDA Y, SIN EMBARGO, EN MI PC VAN DE MARAVILLA.

PERDON POR LOS QUEBRADEROS DE CABEZA...

CUALQUIER IDEA (BUENA O MALA) POR FAVOR COMENTALA

MIL GRACIAS. 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

RE:AYUDA URGENTE, POR FAVOR

Publicado por Pablo (5 intervenciones) el 27/09/2007 18:09:48
Ok mira todos tenemos una forma de programar diferente, ose todos pensamos diferente ok,
*****************************************************************************************
1. UNIDADES 2. PRECIO DE COMPRA
Y UNA FORMULA: UNIDADES * PRECIO DE COMPRA
SI AÑADO UN RESUMEN DE LA FORMULA PARA SABER EL COSTE DE UN
PEDIDO, LA APLICACION SE PARA Y ME DA EL MENSAJE VB6 NO RESPONDE.
*****************************************************************************************
01.- En el CR tiene que estar diseñado asi (claro este es un ejemplo de mi
caso), sin usar tablas todos esta sale del Procedimietno almacenado

codigo | nombre | precio | stock | peso | valorizado | valorizado
| producto | compra | | | cantidad | (kilos)

****** ********* ******** ****** ***** ********* ********
****** ********* ******** ****** ***** ********* ********
****** ********* ******** ****** ***** ********* ********
****** ********* ******** ****** ***** ********* ********
****** ********* ******** ****** ***** ********* ********
****** ********* ******** ****** ***** ********* ********
****** ********* ******** ****** ***** ********* ********
****** ********* ******** ****** ***** ********* ********
****** ********* ******** ****** ***** ********* ********
****** ********* ******** ****** ***** ********* ********
****** ********* ******** ****** ***** ********* ********
****** ********* ******** ****** ***** ********* ********
****** ********* ******** ****** ***** ********* ********
------------------------------------------------------------------------------------------------
este es la formular del Procedimiento almacenado ok
-----------------------------------------------------------------------------------------------
CREATE PROCEDURE PROVEEDOR_CERO /*OK*/
AS
SELECT (P.preciocosto*S.stock) AS Valorizado_cantidad,(P.preciocosto*S.PESO)AS Valorizado_Kilos,
S.stock,S.PESO,P.codproducto,P.nomproducto,
P.preciocosto, P.preciobodega,P.preciopublico,P.eliminar,
T.codTipoProducto,T.nomTipoProducto,
Pr.codproveedor,Pr.rucproveedor,Pr.nomproveedor
FROM STOCK s
INNER JOIN Producto P ON S.codproducto = P.codproducto
INNER JOIN Proveedor PR ON P.codproveedor = Pr.codproveedor
INNER JOIN TipoProducto T ON P.codTipoProducto = T.codTipoProducto
WHERE P.ELIMINAR='0' AND PR.ELIMINAR='0' AND S.STOCK>0
-----------------------------------------------------------------------------------------------
hasta qui solo se acreado el Crystal Report ok
-----------------------------------------------------------------------------------------------
02.- ahora en VB : lamentablemente no se puede enviar imagenes pero ilustrare
el formulario ok
-------------------------------------------------------------------------------------------

Private Sub Imprimir_Click()

Dim p As String, t As String
p = Left(Trim(PROVEEDOR.Text), 6) <------contiene le proveedor (todo)
t = Left(Trim(TIPO.Text), 6) <--------------------contiene la Tipo (Litros Vasos etc)

If CHKTODO.Value = "0" And CHKTIPO.Value = "0" Then <----verifica la valides
If Trim(PROVEEDOR.Text) = "" Then
MsgBox "Tiene que seleccionar el proveedor", vbCritical, "SISDISCOVE"
PROVEEDOR.SetFocus
Exit Sub
End If

If CHKTIPO.Value = "0" And TIPO.Enabled = True Then
If Trim(TIPO.Text) = "" Then
MsgBox "Tiene que seleccionar el tipo de producto",
vbCritical, "SISDISCOVE"
TIPO.SetFocus
Exit Sub
End If
End If

Z = " {PROVEEDOR_CERO;1.codproveedor} = '" + Trim(p) + "' " & _
" and {PROVEEDOR_CERO;1.codTipoProducto}= '" + Trim(t) + "' "
CrystalReport1.SelectionFormula = Z
CrystalReport1.ReportFileName = App.Path & "\rpt\PROVEEDOR_CERO.rpt"
CrystalReport1.PrintReport

ElseIf CHKTIPO.Value = "1" And CHKTODO.Value = "0" Then
Z = " {PROVEEDOR_CERO;1.codproveedor} ='" + Trim(p) + "'"
CrystalReport1.SelectionFormula = Z
CrystalReport1.ReportFileName = App.Path & "\rpt\PROVEEDOR_CERO.rpt"
CrystalReport1.PrintReport

Else
If CHKTIPO.Value = "1" And CHKTODO.Value = "1" Then
CrystalReport1.ReportFileName = App.Path & "\rpt\PROVEEDOR_CERO.rpt"
CrystalReport1.PrintReport 'por empleado pend, cane,anu
Else
CrystalReport1.ReportFileName = App.Path & "\rpt\PROVEEDOR_CERO.rpt"
CrystalReport1.PrintReport 'por empleado pend, cane,anu
End If
End If
End Sub
-----------------------------------------------------------------------------------
de esa manera yo genero reportes, al CR diseño las formas que se va a imprmir, ayudado de un Procemiento y en VB solo lo filtro ok.

si deseas con fecha solo se agrega el filtro nada mas ok.

como puede ver no realizo niguna coneccion porque hay varia formas de conectarse al CR. ok eso es mas facil que prender una PC
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