Atualizando tabela

Delphi

14/04/2003

Oi pessoal!

Tenho uma tabelinha de parâmetros que serve apenas p/ armazenar o ultimo codigo de cliente cadastrado, por ex.
Eu usava em PDX e nao tinha problemas, mas agora usando o banco IB, comecei a ter um probleminha...

Funciona assim:
Qdo entro no form sugiro o numero do proximo codigo no campo codigo.text. Este numero eu pego do tal arquivo, sempre somando um ao ultimo que foi digitado. Ai, na hora de gravar, eu faco isso novamente p/ pegar um novo numero caso alguem na rede tenha cadastrado um cliente enquanto minha tela estava aberta, e atualizo o arq. de parâmetros com o ultimo numero.

O problema é que no IB, se eu abrir a tela aqui (ele sugere o numero 6 por ex.), ai alguem pela rede entra enquanto eu ainda nao salvei, ele sugere o numero 6 p/ essa pessoa tb. Ai a pessoa grava antes que eu. O registro dela fica com o codigo 6 e ele atualiza o arq. de parametros (exatamente como deveria ser.) Qdo eu vou gravar, ele faz aquela verificacao que eu disse p/ ver se alguem nao gravou nada pela rede e pega novamente o numero, só que ele nao pega o numero 6 (que somando 1 daria 7 e seria o prox. numero correto), ele pega o 5 mesmo (que somando 1 dá o 6). É como se na maquina que o prog estava aberto, ele nao atualizasse os dados da tabela. Ai, é lógico, ele dá erro! Tentei dar refresh na tabela mas ele nao aceita (pq. é uma tab. c/ apenas 1 registro e s/ indices), tentei dar .cancel mas nao faz diferenca... alguem tem alguma idéia de como atualizar os dados desta tabela???


Grata,


Renata

Renata

Curtidas 0

Respostas

Jsalgado

Jsalgado

14/04/2003

Renata,
Pq vc nõ faz uma query do tipo
Select max(codigo) from arquivo
Essa query vai te retornar o último código da tabela que vc quer atualizar.
Espero ter ajudado.

Abraços.

JSalgado.


GOSTEI 0
Renata

Renata

14/04/2003

Já tenho isso em outros lugares... em arquivos menores. Mas fica lento num arquivo grande...


mas valeu!
[]´s


GOSTEI 0
Nebrio

Nebrio

14/04/2003

Renata, já que vc migrou p/ IB e vai trabalhar em rede aconselho você a utilizar Trigger para geração deste número.

Se quiser informações de como utilizar o TRIGGER é só escrever no forum


GOSTEI 0
Renata

Renata

14/04/2003

Obrigada pela dica!

Faremos isso, mas nao agora pq. estamos ´afogados´ de trampo...

Eu resolvi ´por hora´. Ficou assim:

tabela.active := false;
tabela.active := true;

Isso antes de editar o arq. de parametros p/ gravar o ultimo cliente. Ai
funcionou!!!


Obrigada a todos! :wink:


GOSTEI 0
POSTAR