PDA

Ver la Versión Completa : Sum en AdoTable


novato03
02-11-2007, 17:02:59
Hola amigos, cómo puedo hacer para que al sumatoria de todos los registros calculados en maestrodetalle(contenidos en el DbGrid) se muestren los Edit?
Ejemplo:
la suma de los impuestos, descuentos y subtotales.

Como siempre muchas gracias anticipadas...

novato03
02-11-2007, 17:04:36
:rolleyes:Por cierto, utilizo delphi 7 y access 2003.

Caral
02-11-2007, 20:00:05
Hola
Me suena, lo tengo en la punta de la lengua, pero, me cuesta entenderlo completamente.
Podrias explicarlo un poco mas?, recuerda que soy lento en esto.
Saludos

enecumene
02-11-2007, 20:02:15
bueno estoy adivinando porque no estas dando suficiente informacion, puedes intentar con esto:

select sum(impuesto), sum(descuento), sum(subtotal) from tabla1 where campo = condicion

:confused::confused:

Saludos.

Caral
02-11-2007, 20:05:18
Hola
Buena opcion enecumene, pero que pasa con el adotable?
Para hacer lo que dices novato03 tendria que estar usando adoquery y segun dice hace un masterdetail con ADOTable.
Me parece que te pasa lo mismo que a mi, no lo entendemos.:D
Saludos

Caral
02-11-2007, 20:09:46
Hola
Ejemplo sencillo:
Código Delphi [-] (http://www.clubdelphi.com/foros/#)Edit1.Text:= AdoTable1.Fields[1].AsFloat;


Por supuesto, expeculacion.:D
Salludos

enecumene
02-11-2007, 20:22:58
Bueno, creo que para hacer ese tipo de sumatoria con adotable se debe usar la funcion Sum o SumInt de Delphi y hay que hacerlo con Arrays, yo reccomendaria que lo hiciera con ADOQuery que es mucho mejor y mas facil no?.

Saludos.

Caral
02-11-2007, 20:29:08
Hola
Totalmente de acuerdo contigo, Pero:
Primero, usa Access, por esa razon, a mi entender, ha echo la operacion de la suma directamente en la base de datos, creando una consulta.
Esta consulta, ya con la sumatoria la esta pasando directamente al adotable, como si fuera una tabla.
Cuando la consulta se hace por codigo, por supuesto que se usa adoquery.
Asi lo entiendo yo, recuerda que estoy aprendiendo, tenme paciencia.
Saludos

novato03
02-11-2007, 20:59:30
Bueno mis respectivas disculpas por no haberme explicado de forma que me pudiesen entender, como novato que soy, suelo cometer mis errores.

Ciertamente es en esta forma:


select sum(impuesto), sum(descuento), sum(subtotal) from tabla1 where campo = condicion


Pero preguntaba como le hago para que el resultado de esa sumatoria pueda visualizarse en mis Edit.
Algo como esto:

SubTotal[10,000.00]
Descuentos[1,000.00]
Impuestos[1,440.00]
Total Neto[10,440.00]

Pero por lo que me dicen asumo que tendre que utilizar AdoQuery.
Espero haberme explicado adecadamente en esta ocasión:(

enecumene
02-11-2007, 21:04:19
select sum(impuesto) as imp, sum(descuento) as desc, sum(subtotal) as sub from tabla1 where campo = condicion

Edit1.text:=Tabla1.fields[0].asstring; // o asFloat
Edit2.text:=Tabla1.fields[1].asstring; // o asFloat
Edit3.text:=Tabla1.fields[2].asstring; // o asFloat

Saludos.

Caral
02-11-2007, 21:09:39
Hola
En la wiki hay un ejemplo que hace muchas cosas, Uso de Combobox y filtros (http://wiki.clubdelphi.com/wiki/index.php/Codigo_en_Delphi_%28Peque%C3%B1os_Ejemplos%29_DESCARGAS#Uso_de_Combobox_y_Edit_en_Filtros).
Este ejemplo contiene dos form, en el segundo se hace una sumatoria, revisalo, veras como te ayuda.
Saludos

novato03
02-11-2007, 21:31:47
Disculpa amigo Enecumene, pero esta parte, dónde en que evento del formulario debería colocarla?


Edit1.text:=Tabla1.fields[0].asstring; // o asFloat
Edit2.text:=Tabla1.fields[1].asstring; // o asFloat
Edit3.text:=Tabla1.fields[2].asstring; // o asFloat


Esta pare debe ir en el evento OnCalcFields de la tabla, por favor corrigeme si no estoy en lo cierto:o


select sum(impuesto) as imp, sum(descuento) as desc, sum(subtotal) as sub from tabla1 where campo = condicion



Gracias Caral, procederé a bajar el ejemplo.

enecumene
02-11-2007, 21:38:55
todos los puedes poner en los eventos onAFterOpen de la tabla o en el onCreate o onShow del form tambien en el oncalcfields.

Saludos.

novato03
02-11-2007, 21:54:55
Disculpa amigo Enecumene, pero esta parte, dónde en que evento del formulario debería colocarla?


Edit1.text:=Tabla1.fields[0].asstring; // o asFloat
Edit2.text:=Tabla1.fields[1].asstring; // o asFloat
Edit3.text:=Tabla1.fields[2].asstring; // o asFloat


Esta pare debe ir en el evento OnCalcFields de la tabla, por favor corrigeme si no estoy en lo cierto:o


select sum(impuesto) as imp, sum(descuento) as desc, sum(subtotal) as sub from tabla1 where campo = condicion



Gracias Caral, procederé a bajar el ejemplo.

enecumene
02-11-2007, 21:58:46
todos los puedes poner en los eventos onAFterOpen de la tabla o en el onCreate o onShow del form tambien en el oncalcfields.

Saludos.

Lo habia escrito en el post anterior.:)

Saludos