AUTONUMERACAO ACCESS

USUARIO.EXCLUIDOS 15/04/2004 20:27:26
#20842
Tenho um campo do tipo 'autonumeração'. Qual o dado que coloco no insert para que o banco entenda que deve incluir mais 1 ? Tentei com zero e não deu certo.


USUARIO.EXCLUIDOS 15/04/2004 21:07:48
#20850
Resposta escolhida
No Access, como no SQL Server, você não precisa inserir valor absolutamente nenhum em um campo de auto-numeração. Ao inserir um registro novo, relacione os todos os demais campos e seus respectivos valores, na mesma ordem, sem referênciar o campo de auto-numeração. O valor será calculado e inserido pelo próprio engine.
USUARIO.EXCLUIDOS 15/04/2004 22:04:41
#20863
Calma... Com um "Select Max(blablablá)..." o retorno não vai ser válido sempre.
A questão, neste caso, é um pouco diferente. Ao invés de fazer o insert, você deverá utilizar o método AddNew. Assim que o AddNew é utilizado, o campo de auto-numeração já terá seu valor atualizado. O insert é então substituído por um método Execute, com a instrução como:
"Update Tabela Set... ...Where CampoNumerado = " & Valor & ";"
e uma variável no fim, para saber se houve realmente a atualização. Ex.:

....
oRS.AddNew
nChave = oRS.Fields("CampoNumerado")
oRS.Update
oCN.Execute "Update Tabela Set... ...Where CampoNumerado = " & nChave & ";", nRegistros
MsgBox nRegistros " atualizados com sucesso.", vbOkOnly + vbInfrmation
oRS.Requery
...
Tópico encerrado , respostas não são mais permitidas