PDA

Ver la Versión Completa : error de violation of foreign key constraint... en ibx


Arturo
07-12-2004, 15:49:18
Hola
Tengo una duda de intebase 6.0, tengo dos tablas en la cual una esta Regvta y DetVt y las demas tablas dependientes comos son las de Clien, prods...
me da un error al insertar datos desde el programa en delphi en el detalle que dice: violation of foreign key constraint "Id_vta_ref" on table "Detvt".
los campos de Regvta son: vta_id, fecha, Id_clie, total, iva
los campos de Detvt son: Det_id, No_vta, idProd, cant, prec

Para la tabla de detvta tengo una llave foranea: after table detvta add constraint Id_vta_ref foreign key (No_vta) references Regvta(vta_id) on update cascade on delete cascade;

las inserciones y modificaciones lo consigo con los ibx de los componentes Ibdataset, los cuales ya los relacione para tener la relacion uno-muchos (prop. dataset del detalle). Y en el evento del componente Ibdtdetvta onnewrecord coloque el codigo:
modulo.ibdtdetvtaNo_vta.value:=modulo.ibdtvtavta_id.value;
Cuando inserto datos en el detalle es ahi donde me da el error, alguien podria decirme una solucion por lo que sucede.
les agradesco

bye.

AGAG4
07-12-2004, 19:38:57
Te recomiendo usar la variable CopyMasterFieldToDetail := true; esta misma se encuentra en la ultima versión de los IBX, D6=Ver. IBX 6.08 y
D7=Ver. IBX 7.08, esta variable lo que hace es que antes de guardar el Detalle su llave primaria, le asigna Automaticamente lo que contiene la Llave del Maestro y por lo tanto no tienes que preocuparte de asignarle los datos de la llave primaria al detalle, esta variable la tienes que poner al iniciar la captura del Maestro detalle.

Espero te sirva.
Saludos.