Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Sum en AdoTable (https://www.clubdelphi.com/foros/showthread.php?t=49894)

novato03 02-11-2007 17:02:59

Sum en AdoTable
 
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

Asunto
 
: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:

Código SQL [-]
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 [-]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

Asunto
 
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:

Código Delphi [-]
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

Código SQL [-]
select sum(impuesto) as imp, sum(descuento) as desc, sum(subtotal) as sub from tabla1 where campo = condicion

Código Delphi [-]
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.
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

Asunto
 
Disculpa amigo Enecumene, pero esta parte, dónde en que evento del formulario debería colocarla?

Código Delphi [-]
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

Código Delphi [-]
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

Asunto
 
Disculpa amigo Enecumene, pero esta parte, dónde en que evento del formulario debería colocarla?

Código Delphi [-]
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

Código Delphi [-]
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

Cita:

Empezado por enecumene (Mensaje 243132)
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


La franja horaria es GMT +2. Ahora son las 16:07:39.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi