AUTO NUMERACAO ?

CASPEREARK 10/07/2004 23:57:19
#33021
O problema é simples mas já tentei utilizar varios códigos e não consegui resolver o problemas. Eu utilizo o seguinte código para inserir dados na minha tabela!


Dim objBD As New clsAux
Dim objRS As New ADODB.Recordset
Dim strSQL As String

strSQL = "INSERT INTO tblRoms (id_Rom,Nome_Rom,Desc_Rom,Arquivo_Rom,id_Sistema,prioridade,Copyright,ano,bitmap) values ('" & txtIndice & "','" & txtNome & "','" & txtDescrição & "','" & txtArquivo & "','" & txtidSistema & "','" & txtPrioridade & "','" & txtCopyright & "','" & txtAno & "','" & txtBitmap & "')"
If Not objBD.fAcessaDBRecordSet(strSQL, objRS) Then
MsgBox "Ocorreu um erro!"
Unload Me
End If


O Campo id_rom é auto numerado, mas como posso adicionar os dados na tabela sem que o usuário precise digitar um valor para o mesmo? Ao clicar em inserir a auto numeração deve ser feita automaticamente, mas como?

Agradeço a todos que me ajudar nesta questão![S43]
VB6MASTER 11/07/2004 09:02:31
#33038
Resposta escolhida
CASPEREARK
Veja bem.
Se o campo é autonumerável, você não precisa colocá-lo dentro de seu comando SQL INSERT INTO. Como o próprio nome diz. é só mandar inserir que o campo será preenchido automaticamente.

Se, depois de executar o comando INSERT INTO você quizer saber qual o valor do campo autonumerável, utilize o seguinte código:
    'COMANDO PARA PEGAR O VLR. DO COD
.rsCodigo.Open ("SELECT @@IDENTITY")
tpDados.vCod = .rsCodigo(0)
.rsCodigo.Close


Veja a função completa como fica:

Public Function fGrava_Busca()  'OK
'grava e busca o último registro
'Tabela Codigo -> Trimestre, Ano, Grupo e Ocorrencia (Cod - fornecido pelo BD)
With DataEnv
cSQL = "INSERT INTO Codigo (Trimestre, Ano, Grupo, SubGrupo, Ocorrencia) VALUES (" & tpDados.vTrim & ", " & _
tpDados.vAno & ", '" & tpDados.vGrupo & "', '" & tpDados.vGrCod & "', '" & tpDados.vOcorrencia & "')"
'comando para gravação
.ConectaBD.Execute cSQL, , adCmdText
'COMANDO PARA PEGAR O VLR. DO COD
.rsCodigo.Open ("SELECT @@IDENTITY")
tpDados.vCod = .rsCodigo(0)
.rsCodigo.Close
End With
End Function


Boa sorte e t+
Tópico encerrado , respostas não são mais permitidas