quot;Index is out of datequot; Alguém sabe?
Tenho um form de consultas, e no OnShow, coloco o índice em Clientes:
TBClientes.indexName:=´indexClientes´;
Ao abrir o form, os registros ficam em ordem de clientes. Desta forma dá certo.
Mas quando eu salvo um novo cliente, e logo em seguida abro o form de consultas, ele me retorna o erro ´Index is out of date´.
Já verifiquei que o erro está quando eu executo a instrução:
TBClientes.indexName:=emptystr;
que serve para voltar com o índice para CODIGO, depois pego o último registro para adicionar mais um, criando o código do novo cliente automaticamente.
Sempre que executo: TBClientes.indexName:=emptystr;
e depois executo: TBClientes.indexName:=´indexClientes´;
ocorre o erro: ´Index is out of date´.
Alguém sabe me dizer pq???
Agradeço desde já!
TBClientes.indexName:=´indexClientes´;
Ao abrir o form, os registros ficam em ordem de clientes. Desta forma dá certo.
Mas quando eu salvo um novo cliente, e logo em seguida abro o form de consultas, ele me retorna o erro ´Index is out of date´.
Já verifiquei que o erro está quando eu executo a instrução:
TBClientes.indexName:=emptystr;
que serve para voltar com o índice para CODIGO, depois pego o último registro para adicionar mais um, criando o código do novo cliente automaticamente.
Sempre que executo: TBClientes.indexName:=emptystr;
e depois executo: TBClientes.indexName:=´indexClientes´;
ocorre o erro: ´Index is out of date´.
Alguém sabe me dizer pq???
Agradeço desde já!
Luiz.gv
Curtidas 0
Respostas
Koplin
10/08/2003
Eu evito erros assim mantendo as tabelas fechadas.
Abro para visualizar. Fecho quando não preciso mais.
Abro para inserir ou editar, Fecho quando Termino.
Assim eu tenho certeza que o ttable me traz os registros atualizados, e minimizo o risco de estourar indices.
Os componentes Dataset tem a propriedade Refresh, que recarrega os dados. Mas eu prefiro usar close e open;
TBClientes.close;
TBClientes.indexName:=emptystr;
TBClientes.open;
...
TBClientes.close;
TBClientes.indexName:=´indexClientes´;
TBClientes.open;
Pode não ser o melhor metodo, mas eu não tenho estes problemas.
Melhor seria vc usar uma Query para consulta e trazer os registros order by. O risco de corrupção de indices é menor.
Espero ter ajudado
Abro para visualizar. Fecho quando não preciso mais.
Abro para inserir ou editar, Fecho quando Termino.
Assim eu tenho certeza que o ttable me traz os registros atualizados, e minimizo o risco de estourar indices.
Os componentes Dataset tem a propriedade Refresh, que recarrega os dados. Mas eu prefiro usar close e open;
TBClientes.close;
TBClientes.indexName:=emptystr;
TBClientes.open;
...
TBClientes.close;
TBClientes.indexName:=´indexClientes´;
TBClientes.open;
Pode não ser o melhor metodo, mas eu não tenho estes problemas.
Melhor seria vc usar uma Query para consulta e trazer os registros order by. O risco de corrupção de indices é menor.
Espero ter ajudado
GOSTEI 0
Bacalhau
10/08/2003
O problema reside não nas tabelas, mas na parametrização da drive Paradox do BDE (Borland Database Engine).
Abraço do bacalhau
Abraço do bacalhau
GOSTEI 0