Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-01-2008
gerasA gerasA is offline
Miembro
 
Registrado: ene 2008
Posts: 16
Poder: 0
gerasA Va por buen camino
Suma de Registros

Hola!
Tengo dos campos en una tabla Peso, Total.
Como le hago para sumar los registros del total. por ejemplo:
1. peso=100 total=100
2. Peso=200 total=300

Tengo dos edit el usuario captura el peso en uno y yo kiero ke el total del ultimo registro de la tabla aparesca en el edit del total automaticamentre cada ves que corra la aplicacion
Gracias
Responder Con Cita
  #2  
Antiguo 18-01-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Hola, pones un query en el form y en el evento OnCreate del form pones esto:

Código Delphi [-]
Query1.SQL.Text = 'select SUM(campo) from tabla';
Query1.Open;
Edit1.Text := Query1.Field[0].Asstring;

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #3  
Antiguo 18-01-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Siempre he tenido cierta duda respecto a usar el evento OnCreate para usar sentencias "actualizables", lo digo porque por ejemplo que pasa si está consulta la tengo que "refrescar" cada vez que invoco la forma, como solo se crea una vez no se verán afectados los registros.

Claro que eso se resuelve creando las formas en tiempo de ejecución, pero para novatos (como Caral, o como FerCastro ) les complica la vida y tendrán dolores de cabeza tratando de decifrar donde está el problema.

En fin, solo es una duda muy dudosa.....

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #4  
Antiguo 18-01-2008
gerasA gerasA is offline
Miembro
 
Registrado: ene 2008
Posts: 16
Poder: 0
gerasA Va por buen camino
Thumbs up Gracias

Gracias Enecumene ya salio
Solo otra pregunta y si solo quisieraa el ultimo registro de una tabla seria asi:
Código Delphi [-]
Query1.SQL.Text = 'select Last(campo) from tabla';
Query1.Open;
Edit1.Text := Query1.Field[0].Asstring;
O en donde iria el last
Responder Con Cita
  #5  
Antiguo 18-01-2008
Avatar de jcarteagaf
[jcarteagaf] jcarteagaf is offline
Miembro Premium
 
Registrado: abr 2006
Ubicación: La Paz, Bolivia
Posts: 651
Poder: 19
jcarteagaf Va por buen camino
Sumar registros

Dependiendo del tipo de conexion que use (BDE,ADO, Sdac, etc.) la solucion seria hacerlo mediante un query como te sugirieron antes (puede ser en el evento onCreate o onShow o en el AfterOpen de tu tabla). Si son tablas en memoria o tablas temporales y la cantidad de datos no es muy grande uso la siguiente funcion:

Código Delphi [-]
function Totalizar(archivo : TDataSet; sField : String) : Double;
var bmReg : TBookmark;
    fTotal : Double;
begin
  with Archivo do
  try
    DisableControls;
    bmReg := GetBookmark;
    first;
    fTotal := 0;
    while not Eof do
    begin
      fTotal := fTotal + Fieldbyname(sField).AsFloat;
      next;
    end;
  finally
    GotoBookmark(bmReg);
    FreeBookmark(bmReg);
    EnableControls;
  end;
  result := fTotal;
end;

En tu caso la llama seria

Código Delphi [-]
Total := Totalizar(Tabla,'TOTAL');

Saludos
Responder Con Cita
  #6  
Antiguo 22-01-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Cita:
Empezado por gerasA Ver Mensaje
Gracias Enecumene ya salio
Solo otra pregunta y si solo quisieraa el ultimo registro de una tabla seria asi:
Código Delphi [-]
Query1.SQL.Text = 'select Last(campo) from tabla';
Query1.Open;
Edit1.Text := Query1.Field[0].Asstring;
O en donde iria el last
Seria de esta manera:

Código Delphi [-]
Query1.SQL.Text = 'select Max(ID)from tabla';
Query1.Open;
Edit1.Text := Query1.Field[0].Asstring;

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #7  
Antiguo 22-01-2008
gerasA gerasA is offline
Miembro
 
Registrado: ene 2008
Posts: 16
Poder: 0
gerasA Va por buen camino
Smile Gracias

De verdad muchas gracias Enecumene
Ahora que tengo que hacer?
Cerrar el hilo o dejarlo asi?
Bye saludos a todos
Responder Con Cita
  #8  
Antiguo 22-01-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Cita:
Empezado por gerasA Ver Mensaje
De verdad muchas gracias Enecumene
Ahora que tengo que hacer?
Cerrar el hilo o dejarlo asi?
Bye saludos a todos
Solo dejalo asi, los unicos que pueden cerrar el hilo son los moderadores.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema con una suma EfrainSanmiguel HTML, Javascript y otros 4 21-09-2007 16:57:59
Arreglo de Registros, con arreglos de Registros(Dinamico) PiornoCKA&G Varios 4 05-01-2007 08:53:30
por que duplicidad de registros con clientdataset sin ingresar registros ...mysql Arturo MySQL 3 05-09-2006 18:39:37
Suma de agrupados... Tanix Impresión 2 19-01-2004 12:45:45
Suma en currencyedit de las rx lib botones67 Varios 1 15-07-2003 21:06:34


La franja horaria es GMT +2. Ahora son las 06:51:15.


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