Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Trigger en master-detalle (https://www.clubdelphi.com/foros/showthread.php?t=13088)

jgutti 05-08-2004 18:49:08

Trigger en master-detalle
 
Hola al foro

uso delphi6, interbase 6.0
¿como crear un trigger o procedimiento para que entrege el numero de items o linea en del detalle?
Cree un trigger pero optuve el numero correlativo para cualquier detalle que ingreso no importando el master (1,2,3,...)
Yo quiero optener el items o linea de 1 a n para el detalle de cada master.
ejempo
master 1
detalle 1,2,3,4

master 2
detalle 1,2,3,4

gracias por la ayuda
atte

jgutti

rastafarey 05-08-2004 19:56:08

No entiendo
 
No entiendo la pregunta si te explicas mejor te puedo ayudar

uper 06-08-2004 06:53:40

Un tip...
 
Hola rastafarey, haber si te sirve esto, segun te entendi es una relacion 1-N como en algunos ejemplo factura y detalle.

Lo que yo consigo hacer es por medio de los Ibdataset's (en la propiedad selectsql):
Ibfact=select No, fecha
Ibdetalle =select No_det, No_fact fecha No_item from detalle where No_fact=:No;
donde No_fact es el campo de detalle y No de la factura con esto consigues esta relacion, y del Ibdetalle en la propiedad datasource engancho a mi Ibfact, y listo, a navegar entre los registros 1-N

Tambien se puede conseguir con los Ibquery, y como decia mi buen maestro "Al gusto del cliente."

Bye.

rastafarey 07-08-2004 01:33:58

Por que quieres el correlativo para cada maestro eso no importa.
Si usa un generador te funciona y has la relacion en tabla de detalles
y listo.

Los generadores escapandel control transaccional.

pero si no te importa esto

En el trigger pon esto

Código SQL [-]

declares variable "N" Integer;

  Select Max("Id en detalle")+1 From "Detalles" Where "Id en detalle de maestro" = new."Id en detalle de maestro" into "N";

If ("N" <> 0) then
  New."Id en detalle" = "N";
Else
  New."Id en detalle" = 1;

Creo que eso fue lo que quisiste preguntar si no fue eso explicate mejor por favor


La franja horaria es GMT +2. Ahora son las 13:13:33.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi