Visual Basic - SUMAR Y AGRUPAR !!!

Life is soft - evento anual de software empresarial
   
Vista:

SUMAR Y AGRUPAR !!!

Publicado por GRIS (48 intervenciones) el 05/09/2007 14:53:14
Hola espero me puedan ayudar, esto es realmente me urge, verán, tengo el siguiente codigo, lo que quiero es sumar determinados registros, según el criterio de la consulta y que el resultado me lo muestre en un textbox llamado costo, pero al ejecutarla no sucede absolutamente nada, alguien me podría decir en donde está mi error ???? GRACIAS ...

Dim sql As Database
Dim sales As Recordset
Dim strSQL As String
Dim costo As Double

Set sql = CurrentDb()
strSQL = "Select SUM(COTIZADO.TOTAL_QUOTED_COST) AS SUMA FROM COTIZADO WHERE COTIZADO.Parent_Part_Number like '*" & Parent_Part_Number & "*' GROUP BY COTIZADO.Parent_Part_Number"
Set sales = sql.OpenRecordset(strSQL, dbOpenDynaset)

If sales.RecordCount = 0 Then
costo = 0
End If

With sales
While Not .EOF
costo = costo + Val(![SUMA])
.MoveNext
Wend
While Not .EOF
If IsNumeric(![SUMA]) = False Then
Exit Sub
Else
costo = costo + Val(![SUMA])
End If
.MoveNext
Wend
End With
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:SUMAR Y AGRUPAR !!!

Publicado por Ivan (1041 intervenciones) el 05/09/2007 15:48:33
¿¿¿ "esto es realmente me urge" ???

y claro que no sucede nada, mi amor, si nunca le dices que el resultado te lo muestre en un TextBox, por lo que veo solamente lo estás sumando en la variable COSTO. deberías poner en algún lado Text1.Text = costo (según como se llame tu TextBox).
¿y por qué usas DOS CICLOS WHILE, uno después del otro?
una vez que llegó el EOF en el primero ya no va a hacer nada para el siguiente WHILE.
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:SUMAR Y AGRUPAR !!!

Publicado por GRIS (48 intervenciones) el 05/09/2007 16:16:54
UUPSS, es verdad, una disculpa pero ya llevo rato tratando esto y ya estoy delirando, si es verdad, pero lo hice de esta forma y si funciona, pero al momento de mandarlo al textbox, nuevamente no me manda nada, me puedes decir que estoy haciendo mal otra vez ??? ...

GRACIAS POR CONTESTAR ...

Dim sql As Database
Dim sales As Recordset
Dim strSQL As String
Dim costo As Double

Set sql = CurrentDb()
strSQL = "Select SUM(COTIZADO.TOTAL_COST_QUOTED) AS SUMA FROM COTIZADO WHERE COTIZADO.Parent_Part_Number like '*" & Parent_Part_Number & "*' GROUP BY COTIZADO.Parent_Part_Number"
Set sales = sql.OpenRecordset(strSQL, dbOpenDynaset)
MsgBox sales.Fields("SUMA") 'aqui si me muestra la suma
TOTAL_COST_QUOTED = SUMA ' aqui ya no, cual es el error ???
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:SUMAR Y AGRUPAR !!!

Publicado por P. J. (173 intervenciones) el 05/09/2007 16:47:19
TOTAL_COST_QUOTED = sales.Fields("SUMA")

???
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:SUMAR Y AGRUPAR !!!

Publicado por GRIS (48 intervenciones) el 05/09/2007 17:11:06
Nop nop nop, ya por fin logre una parte del objetivo, ahora solo falta que muestre los decimales, como hago para que los muestre ??? ... Por que si el resultado es 6.54537890 en el textbox solo aparece 6

Dim sql As Database
Dim sales As Recordset
Dim strSQL As String

Set sql = CurrentDb()
strSQL = "Select SUM(COTIZADO.TOTAL_COST_QUOTED) AS SUMA FROM COTIZADO WHERE COTIZADO.Parent_Part_Number like '*" & Parent_Part_Number & "*' GROUP BY COTIZADO.Parent_Part_Number"
Set sales = sql.OpenRecordset(strSQL, dbOpenDynaset)

With sales
TOTAL_COST_QUOTED = Val(![SUMA])
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

RESUELTO !!! =)

Publicado por GRIS (48 intervenciones) el 05/09/2007 17:26:16
No se preocupen, al fin lo resolví, Muchas Gracias por sus observaciones y sus comentarios, les dejo el codigo por si alguien tiene el mismo dilema ...

Dim sql As Database
Dim sales As Recordset
Dim strSQL As String
Dim SUMA As Double

Set sql = CurrentDb()
strSQL = "Select SUM(COTIZADO.TOTAL_COST_QUOTED) AS SUMA FROM COTIZADO WHERE COTIZADO.Parent_Part_Number like '*" & Parent_Part_Number & "*' GROUP BY COTIZADO.Parent_Part_Number"
Set sales = sql.OpenRecordset(strSQL, dbOpenDynaset)
MsgBox sales.Fields("SUMA")
With sales
TOTAL_COST_QUOTED = CDbl(![SUMA])
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