ADO - Access, um campo auto numeração, ao inserir registra 0

Delphi

21/11/2003

Olá pessoal, estou com a seguinte dúvida:

Estou usando access e ADO. Crei uma tabela, com um campo codigo que é auto numerarado e os outros campos normais. No formulario do delphi, criei os campos e um DBNavigator. Quando mando inserir no campo código ai invés de ser auto numeração registra apenas o numero 0, se eu salvar e mandar incluir novamente. registra-se 0 novamente. Isso impede de eu fazer um mestre detalhe, pois preciso do codigo para cruzar com outra tabela.

Me ajudem, Obrigado.

Rubens Saad


Analistasaad

Analistasaad

Curtidas 0

Respostas

Bampavao

Bampavao

21/11/2003

Eu estava com o mesmo problema, então no evento after post da tabela, coloquei

tabela.Requery;
tabela.Last;

Pra mim funcionou, testa e veja se funciona...
T +


GOSTEI 0
Analistasaad

Analistasaad

21/11/2003

A princípio gostaria de agradeecr pela dica, mas não funcionaou muito bem, porque estou fazendo um mestre detalhe, e no entanto ao clicar em incluir, o código ja deve estar no Tedit, para que assim possa relacionar com a outra tabela, se você souber de alguma coisa me mande. valeu.

Rubens Saad


GOSTEI 0
Erucci

Erucci

21/11/2003

Caro Amigo

Acho que eu tive um problema parecido...
Para resolver, eu fiz o seguinte:

No AdoTable, mude a propriedade [b:4168f800a1]CURSORLOCATION[/b:4168f800a1] para [b:4168f800a1]clUseServer[/b:4168f800a1]

no meu caso funcionou...
tenta... se funcionar..... eu rachei a cabeça pra descobrir....

[]´s

Luís Erucci


GOSTEI 0
Einstein

Einstein

21/11/2003

Qual o componente que vc ta usando pra conectar com o Banco de Dados?


GOSTEI 0
Ozelo

Ozelo

21/11/2003

Num programa meu usei o Access com ADO, mas usei o ADOQuery, no campo autoimcrementado eu percebi que ocorria isso, mas quando se dá o ADOQuery.Post é inserido o valor correto no campo. Acho que deve ser porque quem faz a autoincrementação seja o Access e ele só faça isso depois do registro ser realmente inserido (depois do post).

[]´s


GOSTEI 0
Analistasaad

Analistasaad

21/11/2003

To usando o TADOConnection, o clUseServer não funcionou. Eu também acho que seja o access, mas não posso mudar, não conheço o interbase para mudar, tenho uma tabela de clientes com 85.000 registro, meu sistema esta funcionando bem, mas com essa pendência, não estou conseguindo fazer mestre detalhe. Obrigado


GOSTEI 0
Douglas Bitencourt

Douglas Bitencourt

21/11/2003

eu uso tabelas com mestre detalhe sem prob.

faço o seguinte:

try
tabela.post;
tabela.append;
.
.
.
except
.
.
.
end;

e funciona sem problemas.


GOSTEI 0
Ilanocf

Ilanocf

21/11/2003

Tb tinha esse problema e resolvi acrescentando duas linhas de comando no evento OnClick do botão salvar, logo após salvar a tabela:

Tabela.Post;
[color=red:3a75871700]Tabela.Active:=False;
Tabela.Active:=True;[/color:3a75871700]

Espero ter ajudado.


GOSTEI 0
POSTAR