Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Serginhos

Problema ao alterar alguns dados

Recommended Posts

Sou iniciante em Vb e estou com problemas num exemplo tirado de uma apostila.Quando tento alterar um ou vários dados no exemplo que estou elaborando, aparece a mensagem:Houve um erro durante a gravação dos dados na tabela.segue abaixo o code:Private Sub GravarDados()Dim cnnComando As New ADODB.CommandDim vConfMsg As IntegerDim vErro As Boolean On Error GoTo errGravacao 'Inicializa as variáveis auxiliares: vConfMsg = vbExclamation + vbOKOnly + vbSystemModal vErro = False 'Verifica os dados digitados: If txtNomeUsuario.Text = "" Then MsgBox "O campo Nome não foi preenchido.", vConfMsg, "Erro" vErro = True End If If txtEndereco.Text = "" Then MsgBox "O campo Endereço não foi preenchido.", vConfMsg, "Erro" vErro = True End If If txtCidade.Text = "" Then MsgBox "O campo Cidade não foi preenchido.", vConfMsg, "Erro" vErro = True End If If txtEstado.Text = "" Then MsgBox "O campo Estado não foi preenchido.", vConfMsg, "Erro" vErro = True End If If txtCEP.Text = "" Then MsgBox "O campo CEP não foi preenchido.", vConfMsg, "Erro" vErro = True End If 'Se aconteceu um erro de digitação, sai da sub sem gravar: If vErro Then Exit Sub Screen.MousePointer = vbHourglass With cnnComando .ActiveConnection = cnnBiblio .CommandType = adCmdText 'Verifica a operação e cria o comando SQL correspondente: If vInclusao Then 'Inclusão: .CommandText = "INSERT INTO Usuarios " & _ "(CodUsuario, NomeUsuario, Endereco, Cidade, " & _ "Estado, CEP, Telefone) VALUES ('" & _ txtCodUsuario.Text & "','" & _ txtNomeUsuario.Text & "','" & _ txtEndereco.Text & "','" & _ txtCidade.Text & "','" & _ txtEstado.Text & "','" & _ txtCEP.Text & "','" & _ txtTelefone.Text & "');" Else 'Alteração: .CommandText = "UPDATE Usuarios SET " & _ "NomeUsuario = '" & txtNomeUsuario.Text & "'," & _ "Endereco = '," & txtEndereco.Text & "'," & _ "Cidade = '," & txtCidade.Text & "'," & _ "Estado = '," & txtEstado.Text & "'," & _ "CEP = '," & txtCEP.Text & "'," & _ "Telefone = '," & txtTelefone.Text & "'," & _ "WHERE CodUsuario = " & txtCodUsuario.Text & ";" End If .ExecuteEnd WithMsgBox "Gravação concluída com sucesso.", _ vbApplicationModal + vbInformation + vbOKOnly, _ "Gravação OK"'Chama a sub que limpa os dados do formulário:LimparTelaSaida: Screen.MousePointer = vbDefault Set cnnComando = Nothing Exit Sub errGravacao: With Err If .Number <> 0 Then MsgBox "Houve um erro durante a gravação dos dados na tabela.", _ vbExclamation + vbOKOnly + vbApplicationModal, "Erro" .Number = 0 GoTo Saida End If End WithEnd SubPrivate Sub LimparTela() 'Chama a sub LimparDados para limpar os campos do formulário: LimparDados 'Desabilita o botão Excluir: Toolbar1.Buttons(3).Enabled = False 'Apaga o conteúdo do campo CodUsuario e lhe passa o foco: txtCodUsuario.Text = "" txtCodUsuario.SetFocusEnd Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, Não tive tempo de analisar por completo o seu código, fui direto ao foco que você falou e percebi que a string sql para alteração está incorreta...Seguindo o seu projeto ficaria assim na parte de alteração.. (copie e cole no vb).CommandText = "UPDATE Usuarios SET " & _" NomeUsuario = '" & txtNomeUsuario.Text & "'," & _" Endereco = '" & txtEndereco.Text & "'," & _" Cidade = '" & txtCidade.Text & "'," & _" Estado = '" & txtEstado.Text & "'," & _" CEP = '" & txtCEP.Text & "'," & _" Telefone = '" & txtTelefone.Text & "'" & _" WHERE CodUsuario = " & txtCodUsuario.Textabraços..

Sou iniciante em Vb e estou com problemas num exemplo tirado de uma apostila.Quando tento alterar um ou vários dados no exemplo que estou elaborando, aparece a mensagem:Houve um erro durante a gravação dos dados na tabela.segue abaixo o code:Private Sub GravarDados()Dim cnnComando As New ADODB.CommandDim vConfMsg As IntegerDim vErro As Boolean On Error GoTo errGravacao 'Inicializa as variáveis auxiliares: vConfMsg = vbExclamation + vbOKOnly + vbSystemModal vErro = False 'Verifica os dados digitados: If txtNomeUsuario.Text = "" Then MsgBox "O campo Nome não foi preenchido.", vConfMsg, "Erro" vErro = True End If If txtEndereco.Text = "" Then MsgBox "O campo Endereço não foi preenchido.", vConfMsg, "Erro" vErro = True End If If txtCidade.Text = "" Then MsgBox "O campo Cidade não foi preenchido.", vConfMsg, "Erro" vErro = True End If If txtEstado.Text = "" Then MsgBox "O campo Estado não foi preenchido.", vConfMsg, "Erro" vErro = True End If If txtCEP.Text = "" Then MsgBox "O campo CEP não foi preenchido.", vConfMsg, "Erro" vErro = True End If 'Se aconteceu um erro de digitação, sai da sub sem gravar: If vErro Then Exit Sub Screen.MousePointer = vbHourglass With cnnComando .ActiveConnection = cnnBiblio .CommandType = adCmdText 'Verifica a operação e cria o comando SQL correspondente: If vInclusao Then 'Inclusão: .CommandText = "INSERT INTO Usuarios " & _ "(CodUsuario, NomeUsuario, Endereco, Cidade, " & _ "Estado, CEP, Telefone) VALUES ('" & _ txtCodUsuario.Text & "','" & _ txtNomeUsuario.Text & "','" & _ txtEndereco.Text & "','" & _ txtCidade.Text & "','" & _ txtEstado.Text & "','" & _ txtCEP.Text & "','" & _ txtTelefone.Text & "');" Else 'Alteração: .CommandText = "UPDATE Usuarios SET " & _ "NomeUsuario = '" & txtNomeUsuario.Text & "'," & _ "Endereco = '," & txtEndereco.Text & "'," & _ "Cidade = '," & txtCidade.Text & "'," & _ "Estado = '," & txtEstado.Text & "'," & _ "CEP = '," & txtCEP.Text & "'," & _ "Telefone = '," & txtTelefone.Text & "'," & _ "WHERE CodUsuario = " & txtCodUsuario.Text & ";" End If .ExecuteEnd WithMsgBox "Gravação concluída com sucesso.", _ vbApplicationModal + vbInformation + vbOKOnly, _ "Gravação OK"'Chama a sub que limpa os dados do formulário:LimparTelaSaida: Screen.MousePointer = vbDefault Set cnnComando = Nothing Exit Sub errGravacao: With Err If .Number <> 0 Then MsgBox "Houve um erro durante a gravação dos dados na tabela.", _ vbExclamation + vbOKOnly + vbApplicationModal, "Erro" .Number = 0 GoTo Saida End If End WithEnd SubPrivate Sub LimparTela() 'Chama a sub LimparDados para limpar os campos do formulário: LimparDados 'Desabilita o botão Excluir: Toolbar1.Buttons(3).Enabled = False 'Apaga o conteúdo do campo CodUsuario e lhe passa o foco: txtCodUsuario.Text = "" txtCodUsuario.SetFocusEnd Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.