Hola..
estoy haciendo una aplicacion que maneje facturas y sus items
con Firebird Ibexpress y maestro detalle
¿ se puede capturar id de un registro recien ingresado?
ejemplo
factura serie ventassucursal1 folio 00001
cantidad descripcion precio total
2 cajas 10 20
2 sillones 100 20
2 tv LCD 10 000 20 000
yo lo que siempre he hecho es una
tabla factura
y otra
tabla detalle relacionadas.
en una relacion maestro detalle
basandome en el ID de la factura
y en la tala detalle ese ID de la factura es el que uso para
la Foreing Key.
hago un insert into facturas del encabezado
serie, folio, clienterfc, emisorrfc
como la tabla es autonumerica
se genera el
ID_factura igual a 1
y despues hago un
Código SQL
[-]select id_factura serie, folio, clienterfc, emisorrfc where serie = ventassucursal1 and folio = 00001
and clienterfc = jxjxj101010 and emisorrfc = emurisorrfc
y recupero el id_factura
asi
id_factura:= IBQuery1.FieldByName('id_factura').AsInteger;
y ya despues en la
tabla detalle
hafo un loop
Código Delphi
[-]for i = 0 to productosvendidos.recordcount -1 do
begin
insert into detalle
id_factura, cantiad, descripticon, precio, total
end;
el problema es que siempre lo he hecho asi.
inserto el encabezado de la factura
despues pregunto a la BD por el ID de la factura
que recien ingrese y como no se su id
hago el query que revise
si esta existe con la serie , el folio. el rfcdel emisor, del cliente.
existe alguna forma de
saber el ID o el campo que yo quiera
de una registro recien ingresado. por mi aplicacion.
en este caso
me quiero evitar la query para saber si existe una facuta con
la serie , el folio. el rfcdel emisor, del cliente.
y capturar la respuesta.
usando los componentes ibexpress.
o algun otro
muchas gracias por su atencion.