COLOCAR UM VALOR DE AUTO NUMERACAO EM UMA VARIAVEL

BELLEBS 19/11/2011 18:51:58
#389496
Boa Noite.

Gostaria de saber se existe algum jeito de jogar em uma variável um valor de auto numeração, eu tentei mas dá o seguinte erro:

Citação:

Run-time error [ô]94[ô]:
Invalid use of Null



Eu tentei fazer da seguinte maneira:

Citação:

de.rsalunos.AddNew
de.rsalunos.Fields([Ô]nome[Ô]).Value = txtnome.Text
de.rsalunos.Fields([Ô]endereco[Ô]).Value = txtend.Text
de.rsalunos.Fields([Ô]bairro[Ô]).Value = txtbairro.Text
de.rsalunos.Fields([Ô]cidade[Ô]).Value = txtcid.Text
de.rsalunos.Fields([Ô]cpf[Ô]).Value = txtcpf.Text
de.rsalunos.Fields([Ô]e-mail[Ô]).Value = txtemail.Text
de.rsalunos.Fields([Ô]datadenascimento[Ô]).Value = txtdat.Text
de.rsalunos.Fields([Ô]sexo[Ô]).Value = cbosexo.Text
de.rsalunos.Fields([Ô]uf-identidade[Ô]).Value = cboufid.Text
de.rsalunos.Fields([Ô]cep[Ô]).Value = txtcep.Text
de.rsalunos.Fields([Ô]celular[Ô]).Value = txtcel.Text
de.rsalunos.Fields([Ô]uf[Ô]).Value = cbouf.Text
de.rsalunos.Fields([Ô]identidade[Ô]).Value = txtident.Text
de.rsalunos.Fields([Ô]idade[Ô]).Value = txtid.Text
de.rsalunos.Fields([Ô]telefone[Ô]).Value = txtel.Text

mat = de.rsalunos.Fields([Ô]matricula[Ô]).Value

de.rsalunos.Update



A variável [ô]mat[ô] é global , o banco de dados é Microsoft Access 2002 e a versão do Visual Basic é 6.0

Desde já agradeço.
JESUEL.OLIVEIRA 20/11/2011 21:33:48
#389544
Olá

O conceito de auto numeração, é que se você esta fazendo este update e outra estão fazer o mesmo update que chegar primeiro pega o código, se você seta antes do update e outra estação ja pegou da PAU (duplicação).
Não sei exatamente o que você quer, mas acredito que você queira recuperar o código para alguma outra transação, se eu estiver certo use, o codigo abaixo que vai funcionar, se não for poste.

   
rsalunos.Open ([Ô]SELECT @@IDENTITY FROM tabela[Ô])
mat = tabela(0)


Este comando pega o ultimo insert da sua transação, pode haver diversar inserção de vários terminal só vai pegar o da sua transação.
Tópico encerrado , respostas não são mais permitidas