ADO - Access, um campo auto numeração, ao inserir registra 0
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
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
Curtidas 0
Respostas
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 +
tabela.Requery;
tabela.Last;
Pra mim funcionou, testa e veja se funciona...
T +
GOSTEI 0
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
Rubens Saad
GOSTEI 0
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
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
21/11/2003
Qual o componente que vc ta usando pra conectar com o Banco de Dados?
GOSTEI 0
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
[]´s
GOSTEI 0
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
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.
faço o seguinte:
try
tabela.post;
tabela.append;
.
.
.
except
.
.
.
end;
e funciona sem problemas.
GOSTEI 0
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.
Tabela.Post;
[color=red:3a75871700]Tabela.Active:=False;
Tabela.Active:=True;[/color:3a75871700]
Espero ter ajudado.
GOSTEI 0