Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-09-2010
DamianG DamianG is offline
Miembro
 
Registrado: mar 2008
Posts: 95
Poder: 19
DamianG Va por buen camino
Error index unexpectedly deleted

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 primary de FACCPA:

tipcom,letcom,ptocom,nrocom,codprc

En un formulario muestro las 3 tablas de la siguiente manera:
Código Delphi [-]
   
  with datafb.query_faccpa do
  begin
    close;
    SQL.Clear;
    SQL.add('select f.codprc,f.tipcom,f.letcom,f.ptocom,f.nrocom,f.feccom,f.fecvto,f.feccon,f.aynpro,f.ivapro,f.cuipro,f  .cvtcom,f.remito,f.libro,f.parcial,f.estado,f.descri,f.desadi,f.stock,f.totcom,f.remito,f.ordcom,');
    sql.add('sum(d.tmpng) as zng, sum(d.tmpta) as zta, sum(d.tmpac) as zac, sum(d.tmpno) as zno, sum(d.tmpex) as zex, sum(d.tmprt) as zrt, sum(d.tmpto) as xto from faccpa f');
    sql.add('inner join detfcc d on f.codprc = d.codprc and f.tipcom = d.tipcom and f.letcom = d.letcom and f.ptocom = d.ptocom and f.nrocom = d.nrocom');
    SQL.add('where f.feccon >= ''' + xf1 + '''' + ' and f.feccon <= ''' + xf2 + '''');
    sql.add('group by f.codprc,f.tipcom,f.letcom,f.ptocom,f.nrocom,f.feccom,f.fecvto,f.feccon,f.aynpro,f.ivapro,f.cuipro,f  .cvtcom,f.remito,f.libro,f.parcial,f.estado,f.descri,f.desadi,f.stock,f.totcom,f.ordcom');
   
    SQL.add('order by f.feccon,f.letcom,f.ptocom,f.nrocom');
    open;
  end;
   
  with datafb.query_detfcc do
    begin
      DataSource := datafb.dsfaccpa;
      SQL.text := 'select tipcom,letcom,ptocom,nrocom,feccom,fecvis,codprc,cvtcom,codtmp,tmpng,tmpct,tmpta,tmpac,tmpno,tmpex,t  mprt,tiprt,tmpto,tmpim,tmpde,descri from detfcc';
      SQL.Add('where codprc = :codprc');
      SQL.add('and tipcom = :tipcom');
      SQL.add('and letcom = :letcom');
      SQL.add('and ptocom = tocom');
      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 = tocom');
      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

Código Delphi [-]
   
  Query_accpa.active := false;
  Query_accpa.active := trae;

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!
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ERROR index out of bounds (15) MikyVato Conexión con bases de datos 10 18-08-2010 15:35:28
Error (List Index of bounds)? DM2005 Varios 2 08-07-2006 12:53:29
Error List index out of bounds (14) AMINOA2R Firebird e Interbase 3 30-09-2005 00:32:57
error: Record/Key Deleted al importar datos a Access Capo Conexión con bases de datos 0 08-03-2005 22:59:21
Error Record/key deleted tbolzan Conexión con bases de datos 1 22-10-2004 15:44:07


La franja horaria es GMT +2. Ahora son las 07:17:53.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi