Numerar el detalle Maestro / detalle en secuencia
Que rutina podría utilizar para una pantalla maestro detalle lo que necesito que me haga es lo siguiente.
Los campos son Tabla maestro Código _ encargado Nombre_encargado Tabla detalle Código _ asistente Código _ encargado Nombre _ asistente Lo que necesito es que cuando este en el detalle para insertar un registro me de una secuencia numerica ejemplo Tabla maestro 1 registro Tabla detalle 1-1 2-1 Que cada vez que inserte uno si es de algún detalle que existe me incremente y me presente el valor siguiente 3-1 si es el que sigue Trabajo en Delphi 7 y access 2003 |
Hola Jose,
no se si te puedo ayudar ya que no trabajo con access, pero me imagino que tambien access tiene un autoinc, que incrementa automaticamente el Nr. de registro y si no lo puedes hacer a mano Código:
var |
Gracias Pero ...
Hola y Gracias LordRF por ayudar me pero esta rutina la tengo la que necesito es una que dependiendo el código que tenga el maestro me va a numerar el detalle en secuencia
Te coloco un ejemplo nueva mente una vez vía lago así en un demo de delphi la versión era delphi 3 Maestro Código maestro 1 Detalle 1 código de detalle 2 código de detalle Y Así varias veces Si inserto otro registro en el maestro seria Maestro Código maestro 2 Y entonces quisiera que el detalle Comenzara el ese nuevo registro 1 código de detalle 2 código de detalle A ver si me explique un poco mejor Gracias ojala puedas ayudar me. |
Necesitas:
Para el maestro - un campo auto inc Para el detalle: - Un campo LongInteger o del mismo tipo del auto inc - Un autoinc Ahora abres las "relaciones de las tablas" en access, añades ambas tablas y desde la tabla Maestro, arrastra el campo al campo LongInteger, cuando esté encima lo sueltas y Access te preguntará el tipo de integridad referencial que necesitas. Normalmente es uno a muchos con duplicados. Ahora en Delphi, para insertar una línea detalle, siempre deberás hacerlo en este orden: - Primero insertar en la tabla maestra - Ahora enviar un insertar al detalle. Al tiempo de guardar los registros: -Primero guardar el maestro. - Después guardar el detalle. Saludos Saludos. |
Hola por ejemplo lo puedes hacer asi:
con un query en la detalle Código:
SELECT * FROM Maestra WHERE ID = :ID Código:
procedure TDBM.DetalleAfterInsert(DataSet: TDataSet); un saludo Robert |
Te sugiero que utilices la propiedad Recno de las tablas/querys. Cuando abres una tabla/query hay un campo que es recno que te dice el nº de registro que se trata.
Para hacerlo. crea un campo calculado en la query Detalle, de tipo integer. En el evento DrawDataCell del grid donde visualizas los datos, pon el siguiente código.
Ten en cuenta que recno es un campo calculado por delphi, que no puedes editarlo, y que dependiendo del campo por el que ordenes la tabla detalle te numerará las lineas. Espero que te sea util. Un saludo |
La franja horaria es GMT +2. Ahora son las 17:22:26. |
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