AutoIncremento

08/03/2003

0

Ola pessoal, eu ja coloquei essa pergunta no forum mais ninguém me respondeu, então vou perguntar de novo ´Por acaso alguém sabe com faço para zerar o campo AutoIncremento quando eu deletar todos os registro da tabela ? ´ Se alguém poder dirar essa duvida eu agradeço....


Anonymous

Anonymous

Responder

Posts

08/03/2003

Fcs-bh

CARA SE ESTIVER USANDO PARADOX PODE TENTAR O SEGUINTE:

É MEIO CHATO MAS,

1. MUDE A ESTRUTURA DO CAMPO DE AUTO-INCREMENTO (SE FOR A CHAVE PRIMÁRIA VC DEVERÁ REMOVÊ-LA PRIEMEIRO), MUDE POR EXEMPLO PARA INTEIRO.

2. SALVE A TABELA;

3. MUDE NOVAMENTE O CAMPO PARA AUTO-INCREMENTO E SE DESEJAR COLOQUE A CHAVE-PRIMÁRIA.

PRONTO ISSO DEVE RESOLVER.


Responder

08/03/2003

Jfalexandre

Para zerar deverá tirar a condição do campo de altoIncremento, um cadastro uma vez registrado, na condição de AutoIncremento, ele não renumerará outra vez, mesmo que vc apague tudo, não é bom deletar cadastros, mesmo quando estes ocupam muito espaço, pelo motivo: ex:
Digamos que vc trabalhe em uma locadora, aí um {João das Couves} da vida alugou um carro lá em 1997, e nunca mais voltou... Vc deve se dizer porque ficar com esse {João das Couves}? Ele vai ficar Cadastrado somente ocupando espaço??? Há quem pense que deletar é a melhor solução, mas no meu ver, é necessário deizá-lo, mesmo que não seja ativo, porque vai que o chefe pede um relatório, de todos os carros que foram locados em 97, pode ser também todos os fregueses, vai que justamente a placa deste carro do {João das Couves} é a placa de um carro cujo o motorista assassinou alguém justamente na data em que {João das Couves} locou o carro, existem outros inúmeros motivos, para deixar seu programa como está com o campo na condição de AutoIncremento e sem deletar nada...

Espero te dado uma dica legal!

Até mais.


Responder

08/03/2003

Jycn

function ResetAutoInc(FileName: TFileName; Base: Longint): Boolean;
begin
with TFileStream.Create(FileName, fmOpenReadWrite) do
begin
Result := (Seek($49, soFromBeginning) = $49) and (Write(Base, 4) = 4);
Free;
end;
end;
O parâmetro FileName é o nome da tabela, incluindo o caminho. E o parâmetro Base é o valor inicial para o contador do AutoIncremento. Veja um exemplo de uso:

procedure TForm1.Button1Click(Sender: TObject);
begin
ResetAutoInc(´C:\Temporario\Cliente.db´, 1);
end;


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar