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
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.