ERRO NO COMANDO UPDATE ACCESS
Você não vai conseguir alterar um campo autonumerico no access, você consegue excluir, mas editar não...
Faça um teste você mesmo, entre no access na sua tabela. E tente mudar um valor no campo autonumerico, na unha mesmo. O Access não vai deixar.
Outra coisa os campos autonumericos não se repetem mais, tipo assim. Existia o código 1, ai vc deletou esse registro. Mesmo que você apague todos os dados da tabela e tente inserir um novo registro. O Access vai passar para você o valor do ultimo registro acrescido de 1.
Para zerar novamente essa contagem, você pode. No design da tabela, alterar o tipo de dado para Long e insere um registro com o numero 0 Zero e depois Compactar e Restaurar o banco, depois você volta no design e muda para autonumerico.
Assim você vai conseguir, zerar a contagem de registros.
Mas, você não consegue editar e nem incluir um valor em um campos autonumerico. Porque o Access faz isso na hora que você adiciona um novo registro.
Abraços
Faça um teste você mesmo, entre no access na sua tabela. E tente mudar um valor no campo autonumerico, na unha mesmo. O Access não vai deixar.
Outra coisa os campos autonumericos não se repetem mais, tipo assim. Existia o código 1, ai vc deletou esse registro. Mesmo que você apague todos os dados da tabela e tente inserir um novo registro. O Access vai passar para você o valor do ultimo registro acrescido de 1.
Para zerar novamente essa contagem, você pode. No design da tabela, alterar o tipo de dado para Long e insere um registro com o numero 0 Zero e depois Compactar e Restaurar o banco, depois você volta no design e muda para autonumerico.
Assim você vai conseguir, zerar a contagem de registros.
Mas, você não consegue editar e nem incluir um valor em um campos autonumerico. Porque o Access faz isso na hora que você adiciona um novo registro.
Abraços
Mitsueda,
Essa query não está tentando alterar o campo Código que é AutoNumérico, simplesmente está usando este campo como busca.
Essa query não está tentando alterar o campo Código que é AutoNumérico, simplesmente está usando este campo como busca.
Dim mycon as New OledbCommand([Ô]Update Contatos set Nome = [ô][Ô] & txtNome.text & [Ô][ô],Telefone = [ô][Ô] & txtTelefone.text & [Ô][ô],Celular = [ô][Ô] & txtcel.text & [Ô][ô],Celular2 = [ô][Ô] & txtCel2.text & [Ô][ô],Email = [ô][Ô] & txtEmail.text & [Ô][ô] where Código = [ô][Ô] & txtCodigo.text & [Ô][ô][Ô],con)
mycon.ExecuteNonQuery
mycon.dispose
con.close
Verdade, não tinha reparado.
Então é o seguinte, não utilize [ô] (apostrofo) no access, isso se usa em text do SQL, no access utiliza-se [Ô]
Dim strSql As String = [Ô]Update Contatos set Nome = ?, Telefone = ?, Celular = ?, Celular2 = ?, Email = ? where Código = ?â€
Dim mycon as New OledbCommand(strSql, con)
mycon.Parameters.Add(New OleDb.OleDbParameter([Ô]Nome[Ô], txtNome.text))
mycon.Parameters.Add(New OleDb.OleDbParameter([Ô]Telefone[Ô], txtTelefone.text))
mycon.Parameters.Add(New OleDb.OleDbParameter([Ô]Celular[Ô], txtcel.text))
mycon.Parameters.Add(New OleDb.OleDbParameter([Ô]Celular2[Ô], txtCel2.text))
mycon.Parameters.Add(New OleDb.OleDbParameter([Ô]Email[Ô], txtEmail.text))
mycon.Parameters.Add(New OleDb.OleDbParameter([Ô]Código[Ô], Clng(txtCodigo.text)))
mycon.ExecuteNonQuery
mycon.dispose
con.close
Abraços
Então é o seguinte, não utilize [ô] (apostrofo) no access, isso se usa em text do SQL, no access utiliza-se [Ô]
Dim strSql As String = [Ô]Update Contatos set Nome = ?, Telefone = ?, Celular = ?, Celular2 = ?, Email = ? where Código = ?â€
Dim mycon as New OledbCommand(strSql, con)
mycon.Parameters.Add(New OleDb.OleDbParameter([Ô]Nome[Ô], txtNome.text))
mycon.Parameters.Add(New OleDb.OleDbParameter([Ô]Telefone[Ô], txtTelefone.text))
mycon.Parameters.Add(New OleDb.OleDbParameter([Ô]Celular[Ô], txtcel.text))
mycon.Parameters.Add(New OleDb.OleDbParameter([Ô]Celular2[Ô], txtCel2.text))
mycon.Parameters.Add(New OleDb.OleDbParameter([Ô]Email[Ô], txtEmail.text))
mycon.Parameters.Add(New OleDb.OleDbParameter([Ô]Código[Ô], Clng(txtCodigo.text)))
mycon.ExecuteNonQuery
mycon.dispose
con.close
Abraços
consegui coloquei coloquei ( [Ô] ) no where e funcionou
Dim mycon as New OledbCommand([Ô]Update Contatos set Nome = [ô][Ô] & txtNome.text & [Ô][ô],Telefone = [ô][Ô] & txtTelefone.text & [Ô][ô],Celular = [ô][Ô] & txtcel.text & [Ô][ô],Celular2 = [ô][Ô] & txtCel2.text & [Ô][ô],Email = [ô][Ô] & txtEmail.text & [Ô][ô] where Código = [Ô] & txtCodigo.text & [Ô],con)
mycon.ExecuteNonQuery
mycon.dispose
con.close
Tópico encerrado , respostas não são mais permitidas