Recursividade de campo de autoincremento.

Delphi

21/04/2004

Pessoal tenho o código :

var proxNum : integer;
begin
DmSL.QryFinanceiro.Last;
proxNum := DmSL.QryFinanceiro.FieldByName(´Cod´).asinteger + 1;
DmSL.QryFinanceiro.Append;
DmSL.QryFinanceiro.FieldByName(´Cod´).asinteger := proxNum;
end;

Gostaria ordernar os valores do registro o valor da chaveprimária ´COD´, para o seguinte exemplo :

se eu tiver registros com COD := 1..10 se eu deletar o registro de valor COD := 7 ele diminiu o restante chegando o ultimo registro recebendo ´9´.
Sendo que estarei atualizando os valores anteriores e posteriores.

ESTOU USANDO BASE ACCESS 2000.

Com faço isso ?


Jonasaf

Jonasaf

Curtidas 0

Respostas

Wtjunior

Wtjunior

21/04/2004

Olá Jonas,

Qual a finalidade disso?
Vc não tem nenhuma referência a este campo (COD) dentro do sistema? pois se tiver não poderá fazer isso.

wilson


GOSTEI 0
Beppe

Beppe

21/04/2004

Eu não entendo muito de SQL mas acho que seria +/- assim:

UPDATE Tabela
SET (Cod) VALUES (Cod - 1)
WHERE Cod > :CodDeletado


O param CodDeletado deve receber o Cod do item deletado


GOSTEI 0
Einstein

Einstein

21/04/2004

pra facilitar a sua vida vc pode criar uma função que busque o maior código e some 1 a ele.
exemplo: SELEC max ( cod ) from tabela;

espero ter ajudado....


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

21/04/2004

Colega,

Não faça isto, pois irá acarretar vários problemas de integridade referencial em seu sistema.


GOSTEI 0
Einstein

Einstein

21/04/2004

Colega, Não faça isto, pois irá acarretar vários problemas de integridade referencial em seu sistema.


se vc se refere a dica que eu dei. bem gostaria de lhe informar que ela foi extraida de uma das edicoes da Revista Clube Delphi da serie que desenvolveu o sistema DataCar nao lembro bem se foi a edicao 31 ou a 32.

atenciosamente, Einstein Xavier


GOSTEI 0
Beppe

Beppe

21/04/2004

[quote:5afc671c31]Colega, Não faça isto, pois irá acarretar vários problemas de integridade referencial em seu sistema.


se vc se refere a dica que eu dei. bem gostaria de lhe informar que ela foi extraida de uma das edicoes da Revista Clube Delphi da serie que desenvolveu o sistema DataCar nao lembro bem se foi a edicao 31 ou a 32.

atenciosamente, Einstein Xavier[/quote:5afc671c31]
Einsten, acho q o Zanela respondia ao que postou o tópico, sobre modificar os ids.


GOSTEI 0
POSTAR