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 11-09-2004
huanque huanque is offline
Registrado
 
Registrado: sep 2004
Posts: 1
Poder: 0
huanque Va por buen camino
Suma/resta de un campo dependiendo del valor de otro

tengo un campo importe (numeric) y otro suma (boolean).
Como debo hacer para que importe sume (positivo) si suma=true y reste (negativo) si suma=false.
Responder Con Cita
  #2  
Antiguo 11-09-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Si te basas en este ejemplo y lo aplicas al evento OnChange de ambos campos y desde ahí llamas a una función que te haga el trabajo ya lo tienes:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
n:integer;
begin
n:=3;

if ChkSuma.Checked then
n:=Abs(n)
else
n:=-1*Abs(n);

ShowMessage(IntToStr(n));
end;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 11-09-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Asi

Código SQL [-]
Select sum(decode(suma, 1, importe, importe * -1))
  from tabla;

Hasta luego.



pd. La consulta es del dialecto de oracle. espero que sea la que usas, ya que no lo indicas en el mensaje.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
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 23:26:42.


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