ERRO NO ACCESS

WALOREY 08/05/2006 12:44:48
#145490
Tenho uma tabela em access chamada produto e nela um campo chamdo codigo, esse campo esta configurado como numero inteiro. No VB eu uso um código de alto preenchimento na hora de gravar um novo produto, faço o seguinte:

With dtproduto.Recordset
If .RecordCount = 0 Then
txtcodigo = 1
Else
.MoveLast
txtcodigo = !codigo + 1
End If
End With

Só que quando chega + ou - no produto 200-207 começa a dar um erro de duplicação de chave primaria, ou seja o ponteiro não é movido para o último registro assim o programa gera um código ja existente no campo, como a duplicação não é autorizada pois o mesmo é uma chave da esse erro.

A pergunta é como corrijo essa situação?

Obrigado!
USUARIO.EXCLUIDOS 08/05/2006 12:52:19
#145499
Resposta escolhida
Cara, a forma mais fácil seria você mudar no access o tipo do campo para autonumeração e deixar o banco controlar a alteração para vc....

Fora isso, seu código parace estar certo, mas vc pode mudar o seu select antes para pegar sempre o maior codigo assim:

sql = "select max(codigo as codigo) from produto"

Abra este sql no seu recordeset e acresecente um ao código, depois faça a gravação...

mas o mais correto e deixar o banco tratar isso para vc....

Espero ter ajudado.
WALOREY 08/05/2006 12:55:11
#145501
vou tentar.
Tópico encerrado , respostas não são mais permitidas