Subject | index unexpectedly deleted |
---|---|
Author | giorgisistemas |
Post date | 2010-09-21T20:14:52Z |
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!
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!