Subject index unexpectedly deleted
Author giorgisistemas
Hola a todos, mi consulta es la siguiente:

desarrole un sistema de registro de facturas de compras donde las tablas
definidas son:

FACCPA - Encabezado de facturas
DETFCC - Detalle de factura impositivo
DETFCA - Detalle de productos comprados

las 3 con los siguientes campos en común.

TIPCOM - Tipo de comprobante
LETCOM - Letra
PTOCOM - Punto de venta
NROCOM - Número
CODPRC - Id Proveedor

Entonces tengo como clave primaria de FACCPA:

tipcom,letcom,ptocom,nrocom,codprc

En un formulario muestro las 3 tablas de la siguiente manera:

with datafb.query_faccpa do
begin
close;
SQL.Clear;
SQL.add('select * from faccpa');
SQL.add('order by feccon,letcom,ptocom,nrocom');
open;
end;

with datafb.query_detfcc do
begin
DataSource := datafb.dsfaccpa;
SQL.text := 'select * from detfcc';
SQL.Add('where codprc = :codprc');
SQL.add('and tipcom = :tipcom');
SQL.add('and letcom = :letcom');
SQL.add('and ptocom = :ptocom');
SQL.add('and nrocom = :nrocom');
open;


with datafb.query_detfca do
begin
DataSource := datafb.dsfaccpa;
SQL.text := 'select * from detfca';
SQL.Add('where codprc = :codprc');
SQL.add('and tipcom = :tipcom');
SQL.add('and letcom = :letcom');
SQL.add('and ptocom = :ptocom');
SQL.add('and nrocom = :nrocom');
open;
end;

bueno y aquí el problema, después de hacer una modificacion a la una factura,
cada tanto sale el error, INDEX UNEXPEDTEDLY DELETED, no es siempre y según pude
detectar con un control de errores es cuando hago

Query_faccpa.active := false;
Query_faccpa.active := true;

Para refrescar los datos en la grilla. (dbgrid)

Otra cosita.
Se me ocurrio en algún momento agregar indices a DETFCC Y DETFCA con los mismos
campos de la PK para ver si mejoraba el rendimiento, esto me ayudara a que sea
mas veloz la consulta?

MUCHAS GRACIAS!