Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho a seguinte tabela no access 2000:Tabela LivrosCodLivros NúmeroTitulo TextoAutor TextoCodEditora NúmeroCodCategoria NúmeroAcompCD sim/nãoAcompDisquete sim/nãoIdioma NúmeroObservacoes MemorandoEmprestado sim/nãoCodUsuario NúmeroDataEmprestimo data/horaDataDevolucao data/horaEsse é o código em VB6:CódigoPrivate 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 End If 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 & "');" Debug.Print vSQL 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 Debug.Print vSQL 'Executa o comando de gravação: With cnnComando .ActiveConnection = CnnBiblio .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: LimparTelaSaida: Screen.MousePointer = vbDefault Set cnnComando = Nothing Exit SuberrGravacao: 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 WithEnd SubEsse é o erro:Erro que está dandoRun-time error '-2147217904 (80040e10)':nenhum valor foi fornecido para um ou mais parâmetros necessários.no debug imprime tudo certo mas em execução dá esse erro aí acima. :unsure:
Carregando comentários...