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 30-06-2006
JoanKa JoanKa is offline
Miembro
 
Registrado: ene 2005
Posts: 92
Poder: 20
JoanKa Va por buen camino
Controlar un Disparador al momento de cancelar o eliminar

Muy buenas a todos quisiera hacer una consulta:

Estoy realizando un mantenimiento de de la forma maestro detalle (facturas, lineas_facturas),

CREATE TABLE FACTURAS (
FACT_CODIGO PK (Clave Primaria)
CLI_CODIGO
FACT_FECHA_ALTA
.....
);

CREATE TABLE LINEAS_FACTURAS (
FACT_CODIGO PK(Clave Primaria)
LIN_NUMERO PK(Clave Primaria)
ARTI_CODIGO
LIN_CANTIDAD
.......
);

Para cada tabla tengo un generador, es decir:

Generador para la Factura
CREATE GENERATOR GEN_FACT_CODIGO;

Generador para la linea de la Factura
CREATE GENERATOR GEN_LIN_FACTURA;

Bueno les cuento lo que me esta pasando: En un mantenimiento doy de alta una factura, como tambien lo puedo modificar, hasta aca me va muy bien me registra todo ok, todo en sus respectivas tablas.

Ahora viene el problema:

Supongamos que la ultima factura ingresadas es 850 y la ultima linea de factura es 13520 y presiono sobre un boton de ingresar nueva factura entonces se activa la factura 851 e ingreso 5 articulos a la factura, es decir las lineas de la factura es de la 13521, 13522, 13523, 13524 y 13525 pero por X motivos CANCELO LA FACTURA Y SALGO DEL MANTENIMIENTO DE FACTURACION Y CUANDO INGRESO NUEVAMENTE ME DOY CUENTA QUE LA FACTURA ES AHORA EL NUMERO 852 Y LAS LINEAS ES AHORA 13526, es decir se han incrementado.

Lo que yo deseo es que al momento de cancelar se quede en ultimo registro tanto en FACTURAS con en LINEAS FACTURAS, es decir 851 y 13521, yo sé que es por el disparador de cada tabla.

La pregunta es la siguiente: como puedo contralar a los disparadores, de tal manera que tenga una correlacion en las Facturas y en la Lineas de las Facturas.

Gracias y saludos
Responder Con Cita
  #2  
Antiguo 30-06-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Los generadores de Interbase/FireBird, y en general todos los campos autoincrementales, no son muy buenos para hacer este tipo de contadores, donde necesitas tener siempre una numeración sin huecos o saltos.

Para esto es mejor que te crees una tabla con los contadores que necesites y los incrementes solo al momento de grabar los datos.



Saludos...
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
¿Cómo controlar el Cancelar de un PrinterSetup de QuickReport? roedecker Impresión 3 02-05-2007 19:30:27
Error al momento de guardar Nathan MySQL 3 31-01-2006 01:41:47
problema con disparador FB marrullas Firebird e Interbase 2 03-08-2004 23:16:32
Crear un Disparador Desde la Aplicacion DANY Firebird e Interbase 0 12-11-2003 15:30:38


La franja horaria es GMT +2. Ahora son las 17:30:59.


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