![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
hacer un SUM de una consulta ya hecha
Buenas amigos, les platearé mi problema: Tengo una consulta en un MSQuery que me devuelve 5,000 registros mas o menos, dentro de esa consulta hay un campo que se llama MONTO, lo que quiero es mostrar en un edit la suma de todos estos campos.
Lo se hacer en QuickReport con el QRExpresion, y en la propiedad expresion le pongo SUM(msquery1.monto). Pero en este caso quiero mostrar la suma en un edit de un formaulario. Gracias anticipadas!! |
#2
|
||||
|
||||
Si lo he entendido, quieres algo así como esto:
Código:
Select campo1, campo2, monto, sum(monto) as Total from .....
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
||||
|
||||
A ver, intenta lo siguiente:
Saludos.
__________________
![]() Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. |
#4
|
|||
|
|||
![]() Gracias por sus respuestas.
De la manera que tengo el codigo ahora es haciendo un ciclo desde el principio del Query hasta el final y acumulando en una variable el valor del campo monto. Necesito saber si hay alguna forma que no sea tan lenta, ya que un ciclo que va desde 1 hasta 50,000 es un poco lento. Gracias... ![]() |
#5
|
||||
|
||||
¿Y no te sirve ninguna de las respuestas?
Aclara un poco más lo que haces, adjunta tu código, etc.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#6
|
|||
|
|||
Ok, Trabajo con SQL 2005 y Delphi 2007
Hago la siguiente consulta
Luego paso los parámetros, etc.etc. La consulta me devuelve mas o menos 5,000 registros, y ejecuto el siguiente codigo para sacar el total de la suma del campo MONTO
Entonces, en el calculo que deseo poner en el edit1 me tarda mucho tiempo, ya que mientras mas registros tenga la consulta, mas tiempo tardará en dar el resultado. Gracias anticipadas |
#7
|
||||
|
||||
¿Pero por qué no haces la suma en el select?
Código:
Select CodigoCliente, Numero, Fecha, Monto, sum(Monto) as Total from FACTURAS where fecha between :Fecha1 and :Fecha2
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#8
|
|||
|
|||
Cita:
Salud OS Edito Suponiendo que el campo Calculado sea Total En el evento OnCalcFields se hace esto
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney Última edición por egostar fecha: 26-05-2008 a las 23:28:46. |
#9
|
||||
|
||||
je, je... ¿en qué estaría pensando yo?, por supuesto que lo que he puesto no sirve
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#10
|
||||
|
||||
También puedes lanzar la consulta de suma por separado con los mismos parámetros de fecha, será muy rápido.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema al hacer consulta SQL | pabliyo | SQL | 6 | 29-01-2008 10:56:17 |
hacer una consulta de eliminacion | JODELSA | SQL | 6 | 07-06-2005 16:01:36 |
Problema con una consulta hecha de 3 formas | VRO | Firebird e Interbase | 5 | 24-01-2005 19:02:11 |
Hacer una consulta uniendo dos BD's | jdiazan | Firebird e Interbase | 3 | 28-10-2004 16:39:10 |
![]() |
|