Ahora ocurre que estas intentando insertar el detalle en la base de datos sin haber insertado primero el padre. Hay varias formas de enfrentarlo... lo que me parece mas adecuado dado tu planteamiento es hacer algo como esto en el evento BeforePost de la tabla hija:
Código Delphi
[-]
Procedure TablaHijaBeforePost(parametros... );
Begin
if TablaPadre.State = dsInsert Then
TablaPadre.Post;
end;
Lo que forzará a que el registro padre se inserte primero a la base de datos.
Hasta luego.
