border
VB 6
 
 
/
  #1 (permalink)  
Antiguo 19-10-2005, 20:36:14
Gran Participación en el Foro
 
Registrado: abr 2005
Posts: 140
Créditos: 3.996
gavafra Valoración +2
Predeterminado Sacar el Porcentaje

Hola, buenas tardes a todos, ya casi termino mi proyecto en gran parte gracias a los consejos y tips de los integrantes de este foro, ahora tengo otro problema

Tengo un data report que trabaja con un Data Environment y saca los datos con una instruccion sql.

SELECT SUM(PESO) AS WT, SUM(REV) AS REVENUE, AREA, SUM(PCNT) AS PRCNT FROM SALES WHERE (FECHA BETWEEN ? AND ? AND AREA = "Per" OR AREA = "J-Pro" OR AREA = "General") GROUP BY AREA, PRCNT

Lo que necesito es que el campo PRCNT me calcule el porcentaje de un Label1 que esta en el mismo DataReport y al cual le meto un numero X
y la operacion que debe de hacer es Dividir el campo REVENUE/Label1

Me explico?? o esta muy confuso.

Gracias por sus aportaciones, en verdad me son muy utiles.

Saludos
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #2 (permalink)  
Antiguo 19-10-2005, 23:30:54
Avatar de J_M_Movilla
Administrador
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 9.413
Créditos: 78.457
J_M_Movilla ha deshabilitado la reputación
Predeterminado

Entiendo que no necesitas obtener ese dato en el recordset, puesto que ya has obtenido las bases de la fórmula. Lo que necesitas es PRESENTAR ese valor en el DataReport. Y para ello tienes que poner la fórmula REVENUE / X allá donde necesites que aparezca. Porque en la SQL no tienes por qué obtenerla, ya que sería redundante.
__________________
José María Movilla Cuadrado
______________________
Normas del foro
www.foro.vb-mundo.com
www.vb-mundo.com
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #3 (permalink)  
Antiguo 20-10-2005, 16:38:12
Gran Participación en el Foro
 
Registrado: abr 2005
Posts: 140
Créditos: 3.996
gavafra Valoración +2
Predeterminado

Muchas Gracias Sr. Movilla.

Esta en lo correcto, solo tengo que presentar el porcentaje en el DataReport no me sirve en el Recordset, la duda que tengo y lo que he intentado es poner la formula REVENUE / X en un Label en el data report pero no se donde poner la formula , si la pongo en la propiedad Caption solo me muestra la formula tal cual y no el resultado.

Agradezco su valiosa ayuda.

Saludos
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #4 (permalink)  
Antiguo 20-10-2005, 23:08:13
Avatar de J_M_Movilla
Administrador
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 9.413
Créditos: 78.457
J_M_Movilla ha deshabilitado la reputación
Predeterminado

Pues no, amigo gavafra... Te contesté de memoria y me colé... Ya sabrás perdonarme, pero DataReport no admite incluir campos que no pertenezcan exactamente al recordset que lo alimenta...

Así que tendrás que incrementar un campo en la SQL, como PRCNT * " & lo_que_sea & " As NewPRCNT... y luego tratar el campo NewPRCNT...

Ojalá lo soluciones fácilmente así.

BUENO... Como es un DataEnvironment habrás de poner otro parámetro, así: PRCNT * ? As NewPRCNT... No estoy tan seguro de que funcione... Pero espero que sí. Luego ya sabes que has de poner ese valor por el que has de multiplicarlo delante de las dos fechas que pasas como parámetro de límite.
__________________
José María Movilla Cuadrado
______________________
Normas del foro
www.foro.vb-mundo.com
www.vb-mundo.com
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #5 (permalink)  
Antiguo 21-10-2005, 16:33:00
Gran Participación en el Foro
 
Registrado: abr 2005
Posts: 140
Créditos: 3.996
gavafra Valoración +2
Predeterminado

Gracias Sr. Movilla.
He puesto la sig sentencia sql

SELECT SUM(PESO) AS WT, SUM(REV) AS REVENUE, AREA,
(PCNT) = REVENUE / 135000 * 100 AS PRCNT
FROM SALES
WHERE (FECHA BETWEEN ? AND ?) AND (AREA = 'General' OR
AREA = 'Per' OR
AREA = 'J-Pro')
GROUP BY AREA, PCNT

Pero me da la columna PCNT como valor nulo.
Alguna idea, a mi ya se me acabaron.
Gracias y Saludos
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #6 (permalink)  
Antiguo 21-10-2005, 21:48:24
Avatar de J_M_Movilla
Administrador
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 9.413
Créditos: 78.457
J_M_Movilla ha deshabilitado la reputación
Predeterminado

Creo que debieras poner la SQL así
Código:
SELECT SUM(PESO) AS WT, SUM(REV) AS REVENUE, AREA, 
SUM(REV) / " & txtPCN & " AS PRCNT 
FROM SALES ... etc
pero vamos a esperar que "entren al trapo" los especialistas en SQL, que los/las hay de primera calidad... y no quiero apuntar...
__________________
José María Movilla Cuadrado
______________________
Normas del foro
www.foro.vb-mundo.com
www.vb-mundo.com
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #7 (permalink)  
Antiguo 24-10-2005, 22:21:56
Gran Participación en el Foro
 
Registrado: abr 2005
Posts: 140
Créditos: 3.996
gavafra Valoración +2
Predeterminado

GRacias Sr. Movilla finalmente he puesto la sentencia sql asi

SELECT SUM(PESO) AS WT, SUM(REV) AS REVENUE, AREA, SUM(REV) / ? * 100 AS PRCNT FROM SALES WHERE (FECHA BETWEEN ? AND ?)AND AREA= 'Per' GROUP BY AREA, PCNT

y ya me da los resultados esperados.

Ahora tengo otro problema, en la base de datos SALES en el campo AREA
los registros tienen "Per" o "J-Pro" o "General" , como el formato que necesito en el data report es asi:

...........Per........................... J-Pro........................General.........

WT ...REV... %............WT..... REV......%............WT......REV.......%..

Y no de la forma en que comunmente lo da el data report que es vertical

porque si le pongo asi

SELECT SUM(PESO) AS WT, SUM(REV) AS REVENUE, AREA, SUM(REV) / ? * 100 AS PRCNT FROM SALES WHERE (FECHA BETWEEN ? AND ?)AND AREA= 'Per' OR AREA = "J-Pro" OR AREA = "General" GROUP BY AREA, PCNT ORDER BY SUM(REV) DESC

ME DA LOS DATOS PERO EN FORMAR VERTICAL Y YO LO NECESITO EN FORMA HORIZONTAL

Para llamar el reporte tengo el sig codigo

Dim Text6 As Date
Dim Text7 As Date

Text6 = MonthView5.Value
Text7 = MonthView6.Value
If DataEnvironment11.Connection1.State = 1 Then
DataEnvironment11.Command1 Text10, Text6, Text7
DataReport10.Sections("Command1_Detail").Controls( "Label5").Caption = Text10.Text
DataReport10.Show vbModal
DataEnvironment11.Connection1.Close
Else
DataEnvironment11.Connection1.Open
DataEnvironment11.Command1 Text10, Text6, Text7
DataReport10.Sections("Command1_Detail").Controls( "Label5").Caption = Text10.Text
DataReport10.Show vbModal
DataEnvironment11.Connection1.Close

Muchas GRacias
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
Respuesta


Herramientas

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
Como crear una barra que me muestre el porcentaje???? afede19 Visual Basic 6.00 2 19-11-2007 16:57:24
Problema para multiplicar valores moneda con porcentaje Black_devil Visual Basic 6.00 10 10-10-2006 15:30:58
colocar formato porcentaje a un valor, ayuda Black_devil Visual Basic 6.00 2 29-08-2006 20:06:19
sacar la cruz de los frm crisjavi Visual Basic 6.00 5 14-09-2005 02:13:14
Sacar tabulaciones. LaNGuiS Visual Basic 6.00 2 05-03-1970 17:13:06


La franja horaria es GMT. Ahora son las 16:23:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios


right
Inactive Reminders By Icora Web Design