Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-05-2004
Avatar de jzginez
jzginez jzginez is offline
Miembro
 
Registrado: sep 2003
Ubicación: Puebla, México
Posts: 247
Poder: 21
jzginez Va por buen camino
Suma de campos tipo time

Hola a todos estoy trabajando con firrbird 1.5 y tengo el siguiente problema:

estoy haciendo un sistema para producción de una empresa textil, tengo una tabla (TEstilo) que es un catálogo de los tipos de ropa
clave - descripcion
1 - camisa
2 - pantalon

Una tabla (TOperaciones) donde tengo las operaciones que se necesitan para hacer un estilo especifico y el tiempo que se tarda cada una de ellas, por ejemplo tengo las siguientes operaciones:
clave-descripcion-minutaje
1 - pegar manga - 00:00:30
2 - pegar cuello - 00:00:15
3 - coser bolsa - 00:00:25
4 - cerrar costados - 00:00:45
5 - cerra dobladillos - 00:00:10
6 - pegar botones - 00:01:00

Una tercera tabla (TOperEstilo) donde relaciono el estilo con las operaciones

estilo - operación
1 - 1
1 - 2
1 - 3
1 - 4
1 - 5
1 - 6
2 - 4
2 - 3
2 - 6

Necesito saber el tiempo que se tarda en producir un estilo es decir la suma de los tiempos de las operaciones que se usan en cada estilo, para empesar no podia sumar mis campos tipo time hasta que encontre el hilo de Campos tipo time El problema que tengo es que como resultado me esta dando cero, el triger que uso es el siguiente:

CREATE TRIGGER TOPERESTILO_AI FOR TOPERESTILO
ACTIVE AFTER INSERT POSITION 0
AS
declare variable tiempoOper time;
declare variable TiempoEstilo time;
declare variable tiempoTotal Integer;
begin
/* Trigger text */
if (new.id_oper is not null)
Then begin
select minutaje from toperaciones where id = new.id_oper into :TiempoOper;
select minutaje from testilo where id = new.id_estilo into TiempoEstilo;
tiempoTotal = extract(hour from TiempoEstilo)*3600 + extract(minute from TiempoEstilo)*60 + extract(second from TiempoEstilo);
tiempototal = TiempoTotal + extract(hour from TiempoOper)*3600 + extract(minute from TiempoOper)*60 + extract(second from TiempoOper);
update testilo set minutaje = :tiempoTotal where id = new.id_estilo;
end
end


Gracias
__________________
Espero poder seguir exprimiéndote el cerebro 8)
Jorge Zamora Ginez
Puebla, Pue. México
Responder Con Cita
 



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 13:48:36.


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