meu código não grava!
Eis o código, surge o erro no item .EXECUTE
Public Sub GravarDados()
Dim cnnComando As New ADODB.Command
Dim vSQL As String
Dim vCod As Long
Dim vConfMsg As Integer
Dim vErro As Boolean
'On Error GoTo errGravacao
'Converte o código digitado para gravação:
vCod = Val(TxtCodLivro.Text)
'Verifica os dados digitados:
vConfMsg = vbExclamation + vbOKOnly + vbApplicationModal
vErro = False
If vCod = 0 Then
MsgBox "O campo Código não foi preenchido.", vConfMsg, "Erro"
vErro = True
End If
If TxtTitulo.Text = Empty Then
MsgBox "O campo Título não foi preenchido.", vConfMsg, "Erro"
vErro = True
End If
If TxtAutor.Text = Empty Then
MsgBox "O campo Autor não foi preenchido.", vConfMsg, "Erro"
vErro = True
End If
If vCodEditora = 0 Then
MsgBox "Não foi selecionada uma Editora.", vConfMsg, "Erro"
vErro = True
End If
If vCodCategoria = 0 Then
MsgBox "Não foi selecionada uma Categoria.", 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
'Constrói o comando SQL para gravação:
If vInclusao Then
'Se é uma inclusão:
vSQL = "INSERT INTO Livros (CodLivro, Titulo, Autor, CodEditora, " & _
"CodCategoria, AcompCD, AcompDisquete, Idioma, Observacoes) " & _
"VALUES (" & vCod & ",'" & _
TxtTitulo.Text & "','" & _
TxtAutor.Text & "'," & _
vCodEditora & "," & _
vCodCategoria & "," & _
vAcompCD & "," & _
vAcompDisquete & "," & _
vIdioma & ",'" & _
TxtObservacoes.Text & "');"
Else
'Senão, alteração:
vSQL = "UPDATE Livros SET Titulo = '" & TxtTitulo.Text & _
"', Autor = '" & TxtAutor.Text & _
"', CodEditora = " & vCodEditora & _
", CodCategoria = " & vCodCategoria & _
", AcompCD = " & vAcompCD & _
", AcompDisquete = " & vAcompDisquete & _
", Idioma = " & vIdioma & _
", Observacoes = '" & TxtObservacoes.Text & _
"' WHERE CodLivro = " & vCod & ";"
End If
'Executa o comando de gravação:
With cnnComando
.ActiveConnection = cnnAprenBiblio
.CommandType = adCmdText
.CommandText = vSQL
.Execute
End With
MsgBox "Gravação concluída com sucesso.", _
vbApplicationModal + vbInformation + vbOKOnly, _
"Gravação OK"
'Chama a sub que limpa os dados do formulário:
LimparTela
Saida:
Screen.MousePointer = vbDefault
Set cnnComando = Nothing
Exit Sub
errGravacao:
With Err
If .Number <> 0 Then
MsgBox "Erro durante a gravação dos dados no registro." & vbCrLf & _
"A operação não foi completada.", _
vbExclamation + vbOKOnly + vbApplicationModal, _
"Operação cancelada"
.Number = 0
GoTo Saida
End If
End With
End Sub
----------------------------------------------------------------------------------------
Até agora ninguém conseguiu me ajudar...
---------------------------------------------------------------------------------------
Agradeço Antecipadamente
Snewton
Discussão (6)
Carregando comentários...