Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-08-2005
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
Suma de dos Campos en un BDGrid

Hola......!

Tengo en una forma un DBGrid, con una tabla detalle el cual tiene dos campos uno Credito y otrdo Debito y lo que quiero hacer es sumar el contenido del Credito en un Campo llamado TotalCredito, igual mente con el Debito, mi Query eria haci.

Código:
select sum(credito)as Total_Credito, sum(Debito)as Total_Debito From Detalle
hago esto por que el DBGrid tiene que permitirme digital diferentes tipos de Cuentas.

mil Gracias
Responder Con Cita
  #2  
Antiguo 29-08-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Cual es la duda?
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #3  
Antiguo 29-08-2005
Avatar de el_barto
el_barto el_barto is offline
Miembro
 
Registrado: may 2005
Ubicación: Bogota Colombia
Posts: 533
Poder: 19
el_barto Va por buen camino
Talking Podria ser esto

Si lo que quieres es sumar los campos y guardarlos en la base de datos lo que tendrias que hacer es lo siguiente:

Código Delphi [-]
procedure TForm1.IBDataSet1BeforePost(DataSet: TDataSet);
begin
with IBdataset1 do begin
     FieldByName('campo4').AsInteger:=FieldByName('campo2').AsInteger*FieldByName('campo3').AsInteger;
end;
end;

despues usas un boton para hacer un apllyupdate y un commit.

PDT: si me salio vt , te acuerdas
__________________
Una forma de alcanzar tus metas es ayudando a otros a alcanzar las suyas
Responder Con Cita
  #4  
Antiguo 29-08-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos
Cita:
Empezado por el_barto
PDT: si me salio vt , te acuerdas
Claro, Que bueno que te resulto
====
Lo que no entiendo es laduda de este hilo:-S, ya que la sentencia que esta puesta hace exactamente lo que pide: Dar la sumatoria de los campos
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!

Última edición por vtdeleon fecha: 29-08-2005 a las 18:19:57.
Responder Con Cita
  #5  
Antiguo 29-08-2005
Avatar de el_barto
el_barto el_barto is offline
Miembro
 
Registrado: may 2005
Ubicación: Bogota Colombia
Posts: 533
Poder: 19
el_barto Va por buen camino
Pues es muy probablemente un problema similar al que me paso a mi:

y es que no guarda en la base de datos, por lo menos eso me paso a mi.

Ademas este amigo, no no has dicho mucho de lo que quiere hacer si no da mas detalles ni modo, verdad???
__________________
Una forma de alcanzar tus metas es ayudando a otros a alcanzar las suyas
Responder Con Cita
  #6  
Antiguo 29-08-2005
esimon esimon is offline
Miembro
 
Registrado: ago 2005
Ubicación: República Dominica
Posts: 149
Poder: 19
esimon Va por buen camino
Gracias muevamente por su preocupación para ayudarme a entender el manejo de la programación delphi.

en una tabla de Detalle con lo siguiente Campos
EN DELPHI 7 Y ACCESS
*Codigo (Autonumerico)
Numero_Documento (Numerico)
Numero_Cuenta (Numerico)
Debito (Moneda)
Credito (Moneda)
TDebito (Moneda)
TCredito (Moneda)

en un DBGrid tengo Numero_Cuenta, Credito y Debito, los cuales son los campos que el DBGrid me deja digitar, el cual me tiene que dejar instroducir diferentes tipos de cuenta, Credito y Debito, lo que quiero hacer es sumar la columna de Credito y el Resultado guardalo en TCredito, igual con el Debito.

para incrementa el DBGrid estoy usando este godio en el evento OnNewRecord de la Tabla Detalle.

Código:
 
if Tbl_DetalleCheque.State = dsInsert then
begin
Tbl_DetalleChequeCodigo_ChequeDetalle.value := Qry_Inserta.fields[0].asInteger + 1;
Qry_Inserta.Close;
end;
por famor coregirme lo que estoy hacinedo mal.

mil gracias

Última edición por esimon fecha: 29-08-2005 a las 21:49:10.
Responder Con Cita
  #7  
Antiguo 14-09-2005
MaSSaKKre MaSSaKKre is offline
Miembro
 
Registrado: sep 2005
Posts: 34
Poder: 0
MaSSaKKre Va por buen camino
Hola, bueno , no se si es lo que tu deseas, en ocasiones leo y entiendo mal

pero bueno...


Yo tengo una consulta mas o menos del mismo tipo y digo mas o menos porque yo estoy usando dos tablas distintas para opterner un resultado y dicho resultado nunca lo guardo en ninguna tabla ni nada, solo lo visualizo en momento de ejecucion, a mi me sirve asi porque cuando se actualiza uno de los campos utilizados, entonces no tengo que andar actualizando el campo resultante. Para que me entiendas...

Checa mi consulta
Código:
   
SELECT NREG,ART,NOMINFRAC,SALAMIN,((SALAMIN)*(SALARIOMINIMO)) AS DATO FROM "REGINFRAC.DB","SALARIO.DB"

donde el campo SALAMIN (dias de salario minimo) pertenece a la tabla REGINFRAC.DB y el comapo SALARIOMINIMO pertenece a SALARIO.DB, como veras simplemente hago una multiplicación de ambos campos en la consutla ,((SALAMIN)*(SALARIOMINIMO)) AS DATO y lo guardo en una Variable "Virtual" (que se genera en momento de ejecución) llamada DATO.


entonces según mi lógica tu consulta
Código:
 
select sum(credito)as Total_Credito, sum(Debito)as Total_Debito From Detalle
porque estas haciendo una suma total de todos los registros que tenga la columna Credito y la columna debito.

tu consulta deberia ser asi (creo yo)

Código:
 
select ((credito)+(Debito)) as Total From Detalle
ahi estarás haciendo una suma por cada uno de los "clientes" que tengas (suponiendo que son datos de clientes) o mas bien, de cada registro de tu tabla, asi sea 1 o 1000 millones...

espero haberte entendido tu problematia y mas que nada haberte podido ayudar, si no es lo que necesitas entonces entendi mal
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:45:51.


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
Copyright 1996-2007 Club Delphi